![](/img/trans.png)
[英]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.