在pandas数据框中将NaN替换为空列表。

14 浏览
0 Comments

在pandas数据框中将NaN替换为空列表。

我试图用一个空列表[]来替换我的数据中的一些NaN值。然而,这个列表被表示为一个字符串,不允许我正确地应用len()函数。有没有办法在pandas中将NaN值替换为一个真正的空列表?

d = pd.DataFrame({'x' : [[1,2,3], [1,2], np.NaN, np.NaN], 'y' : [1,2,3,4]})
d
输出:
           x  y
0  [1, 2, 3]  1
1     [1, 2]  2
2        NaN  3
3        NaN  4
d.x.replace(np.NaN, '[]', inplace=True)
d
输出:
           x  y
0  [1, 2, 3]  1
1     [1, 2]  2
2         []  3
3         []  4
d.x.apply(len)
输出:
0    3
1    2
2    2
3    2
Name: x, dtype: int64

0