如何将值列表插入 python 中列的空值?

How to insert list of values into null values of a column in python?

我是 pandas 的新手。我面临空值问题。我有一个包含 3 个值的列表,必须将其插入到缺失值列中,我该怎么做?

In [57]: df
Out[57]: 
   a   b   c  d  
0  0   1   2  3  
1  0 NaN   0  1  
2  0 Nan   3  4 
3  0   1   2  5  
4  0 Nan   2  6  
In [58]: list = [11,22,44]

我想要的输出

Out[57]: 
   a   b   c  d  
0  0   1   2  3  
1  0   11  0  1  
2  0   22  3  4 
3  0   1   2  5  
4  0   44  2  6  

尝试使用 stack 并分配值,然后 unstack 返回

s = df.stack(dropna=False)
s.loc[s.isna()] = l # chnage the list name to l here, since override the original python and panda function and object name will create future warning 
df = s.unstack()
df
Out[178]: 
     a     b    c    d
0  0.0   1.0  2.0  3.0
1  0.0  11.0  0.0  1.0
2  0.0  22.0  3.0  4.0
3  0.0   1.0  2.0  5.0
4  0.0  44.0  2.0  6.0

如果您的列表与 NaN 的编号长度相同:

l=[11,22,44]
df.loc[df['b'].isna(),'b'] = l

print(df)

   a     b  c  d
0  0   1.0  2  3
1  0  11.0  0  1
2  0  22.0  3  4
3  0   1.0  2  5
4  0  44.0  2  6