所以我有一个[Python2.7]熊猫数据帧(df),如下所示:
name flag dummy_D random ID dummy_S dummy_T
0 Mick Purple 2 NaN 1 21 32
1 John Red NaN NaN 2 w32 4
2 Christine NaN 2 NaN 2 w33 3
3 Stevie NaN 4 NaN 2 w34 2
4 Lindsey NaN 5 NaN 2 w35 NaN
我想用以前的值替换所有列中声明为“dummy”的NaN(并且只有这些列,而数据帧的其余部分保持不变)
以下是我所做的:
dummycol = [col for col in df.columns if 'dummy' in col]
for d in dummycol:
df[d] = df[d].fillna(method = 'pad')
我的问题是:
熊猫有没有更好的方法(在编码和内存效率方面)来代替浪费内存来创建列表+循环?如果有一个一行解决方案就太好了!
非常感谢!你知道吗
威尔
这避免了您对列表的理解,只在列上循环一次:
您可以将条件列表理解与
.loc
一起使用:您可以这样做,因此可以调用列上的^{} 来获取感兴趣的列,然后同时调用所有这些列上的^{} :
相关问题 更多 >
编程相关推荐