Skip to main content
 首页 » 编程设计

python之在 Pandas 的多列中使用 NaN 值

2025年05月04日21dyllove98

我有多个具有不同行数和相同列数的数据集。 我想在每一列中找到 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)