【发布时间】:2017-08-28 13:33:03
【问题描述】:
在尝试解决另一个question 的过程中,我遇到了障碍。这是我的数据:
col1 col2 col3 col4 col5 user_ID
0 [1] [3] [] NaN NaN 1
1 [2, 3] [3] [1, 2, 3] NaN NaN 2
2 [3] [3, 1] [3, 1] NaN NaN 3
0 [1, 2] NaN [1] [3] NaN 1
1 [3] NaN [2, 3] [3] NaN 2
2 [3] NaN [3] [3, 1] NaN 3
0 [1] [3] NaN NaN [] 1
1 [2, 3] [3] NaN NaN [1, 2, 3] 2
2 [3] [3, 1] NaN NaN [3, 1] 3
我想用一个空列表替换那些 NaN,这样我就可以对这些列进行求和。
我试过df.replace,但我得到了
TypeError: Invalid "to_replace" type: 'float'
我也试过df.fillna得到了
TypeError: "value" parameter must be a scalar or dict, but you passed a "list"
如何使用空列表 [] 填充这些 NaN?
编辑:原来这是重复的!由于标记的骗子没有applymap 解决方案,我将把它留在这里。
【问题讨论】:
-
@Ev.Kounis 否。我概述的所有方法都适用于标量值,但不适用于空列表。
-
@Coldspeed Strange..
x != x不过不错。 -
@Ev.Kounis 更新了一些错误警告。现在应该说这不是骗局了。
-
对于
fillna它说here "..它不能是一个列表" 但是对于replace没有这样的要求 -
@Ma0 确实如此,但替换不允许
np.nan被替换,看起来。
标签: python pandas dataframe nan