[英]Assigning value in a column based on values on many other columns in dataframe
[英]Assigning value to a new column based on the values of other columns in Pandas
以下是數據幀的子集:
id words A B C D E
1 new 1 1
2 good 1
3 star 1
4 never
5 final
如果所有其他變量(列)的值均為“ null”,我想定義一個新變量(稱為FF)作為新列並為其分配1。 新的數據框將如下所示:
id words A B C D E FF
1 new 1 1
2 good 1
3 star 1
4 never 1
5 final 1
我如何使用python和Pandas做到這一點? 謝謝。
您可以定義一個按行應用於數據框的函數:
def fill_if_nan(row):
if row[['A', 'B', 'C', 'D', 'E']].isnull().all():
return 1
return None
df['FF'] = df.apply(fill_if_nan, axis=1)
或更優雅的基於numpy的解決方案:
df['FF'] = np.where(df[['A', 'B', 'C', 'D', 'E']].isnull().all(1), 1, np.nan)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.