以下是数据框的子集:
id words A B C D E
1 new 1 1
2 good 1
3 star 1
4 never
5 final
Run Code Online (Sandbox Code Playgroud)
我想将一个新变量(称为FF)定义为一个新列,并为其分配1,如果所有其他变量(列)的值都为"null".新数据框将如下所示:
id words A B C D E FF
1 new 1 1
2 good 1
3 star 1
4 never 1
5 final 1
Run Code Online (Sandbox Code Playgroud)
我怎么能用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)
Run Code Online (Sandbox Code Playgroud)
或者更优雅的基于numpy的解决方案:
df['FF'] = np.where(df[['A', 'B', 'C', 'D', 'E']].isnull().all(1), 1, np.nan)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
790 次 |
| 最近记录: |