Skip to main content
 首页 » 编程设计

python之Pandas :用一些值(value)填充每一列

2025年05月04日12powertoolsteam

我有数据框并且有 NaN 值:

col1   col2    col3 
234    NaN     1 
NaN    NaN     18 
9      2       NaN 

我有一个包含值 [12, 15, 3] 的列表,我需要填写这些列:

欲望输出

col1   col2   col3 
234    15     1 
12     15     18 
9      2      3 

我可以用

for (col, mean) in zip(df.columns, means): 
    df[col].fillna(mean, inplace=True) 

但是有什么办法可以不用循环吗?

请您参考如下方法:

构建一个 dict ,然后 fillna

l1= [12, 15, 3] 
 
df.fillna(dict(zip(df.columns,l1))) 
Out[120]:  
    col1  col2  col3 
0  234.0  15.0   1.0 
1   12.0  15.0  18.0 
2    9.0   2.0   3.0