繁体   English   中英

Python pandas 根据另一列的条件填充缺失值(NaN)

[英]Python pandas fill missing value (NaN) based on condition of another column

我已经弄清楚如何使用df.fillna(method='ffill')用前一个单元格填充 NaN 值。

但是,我不确定如何将其基于以下条件:如果国家/地区名称与其前一个单元格中的国家/地区名称不同,则总大小写单元格值应为 0,否则将NaN替换为前一个单元格的总大小写值。

只需将groupbyfillna一起使用即可获得所需的结果。 这里的columns是您要应用缺失值逻辑的所有列。

columns = ['total_cases', 'total_deaths', ...]
df[columns] = df.groupby('location')[columns].fillna(method='ffill').fillna(0)

请注意,您需要应用fillna两次,一次使用正向填充,一次使用常量 0 来填充所有 nan 值。 这是为了确保在新组中开始的任何 nan 都用 0 填充。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM