遍历Pandas Column并替换nan值

Jua*_* R. 5 python iteration nan pandas

我正在尝试用存储在列表中的预测值替换列中的缺失值。

这是我要完成的一个示例:

    A   B   C
0  7.2 'b' 'woo'
1  nan 'v' 'sal'
2  nan 'o' 'sdd'
3  8.1 'k' 'trili'
Run Code Online (Sandbox Code Playgroud)

我的清单如下所示:

list = [3.2, 1.1]
Run Code Online (Sandbox Code Playgroud)

我期望的结果是:

    A   B   C
0  7.2 'b' 'woo'
1  3.2 'v' 'sal'
2  1.1 'o' 'sdd'
3  8.1 'k' 'trili'
Run Code Online (Sandbox Code Playgroud)

我已经尝试了各种解决此问题的方法,但是这段代码说明了我的一般想法:

q = 0
for item in df['Age']:
    if str(item) == 'nan':
        item = my_list[q]
        q = q + 1
Run Code Online (Sandbox Code Playgroud)

先感谢您。这已经让我发疯了一段时间了。

Lev*_*sky 3

您可以使用isnull()类似的东西:

df.loc[pd.isnull(df['A']), 'A'] = mylist
Run Code Online (Sandbox Code Playgroud)

例子:

In [19]: df
Out[19]: 
     A  B      C
0  7.2  b    woo
1  NaN  v    sal
2  NaN  o    sdd
3  8.1  k  trili

In [20]: mylist = [3.2, 1.1]

In [21]: df.loc[pd.isnull(df['A']), 'A'] = mylist

In [22]: df
Out[22]: 
     A  B      C
0  7.2  b    woo
1  3.2  v    sal
2  1.1  o    sdd
3  8.1  k  trili
Run Code Online (Sandbox Code Playgroud)