我有下面的pandas数据框,我想用D列中的值以行方式填充A-C列中的nan。有没有一种明确的方法可以定义所有的nan都应该依赖D列中的值?我在fillna()中找不到显式执行此操作的方法。
请注意,还有一些附加的列E-Z有自己的nan,并且可能有其他填充nan的规则,应该保持不动。
A B C D E
158 158 158 177 ...
158 158 158 177 ...
NaN NaN NaN 177 ...
158 158 158 177 ...
NaN NaN NaN 177 ...
希望仅对列A-C使用此选项:
A B C D E
158 158 158 177 ...
158 158 158 177 ...
177 177 177 177 ...
158 158 158 177 ...
177 177 177 177 ...
谢谢。
使用
fillna
函数:如果其他列中没有NaN,则执行此操作。
如果存在并且您想让它们保持不变,我认为这样做的唯一选择是在数据帧的子集上执行
fillna
。使用示例数据帧:Udate:如果不想依赖列顺序,还可以指定要用于填充每一行的值(例如
.fillna(value=df['D']
)。唯一的问题是,这只适用于序列(当它是数据帧时,它会尝试将不同的值映射到不同的列,而不是行)。因此,使用apply to do it column by column,它可以:相关问题 更多 >
编程相关推荐