我有多个具有不同行数和相同列数的数据集。 我想在每一列中找到 Nan 值,例如考虑这两个数据集:
dataset1 : dataset2:
a b a b
1 10 2 11
2 9 3 12
3 8 4 13
4 nan nan 14
5 nan nan 15
6 nan nan 16
我想在两个数据集 a 和 b 中找到 nan 值: 如果它出现在 b 列中,则删除所有具有 nan 值的行。如果它出现在 a 列中,则用 0 填充该值。
这是我的代码片段:
a=pd.notnull(data['a'].values.any())
b= pd.notnull((data['b'].values.any()))
if a:
data = data.dropna(subset=['a'])
if b:
data[['a']] = data[['a']].fillna(value=0)
无法正常工作。
请您参考如下方法:
你只需要 fillna 和 dropna 没有控制流
data = data.dropna(subset=['b']).fillna(0)
