标签: python pandas
我是python和pandas的初学者,目前正在处理一组COVID数据。
我已经弄清楚了如何使用df.fillna(method='ffill')用上一个单元格填充NaN值。
df.fillna(method='ffill')
但是,我不确定如何以以下条件为基础:如果国家/地区名称与其前一个单元格中的国家/地区名称不同,则总大小写单元格值应为0,否则将NaN替换为前一个单元格的总个案值。
NaN
一个例子就是这样:
对此:
答案 0 :(得分:1)
仅将groupby与fillna一起使用即可得到所需的结果。 columns是您要对缺失值逻辑应用的所有列。
groupby
fillna
columns
columns = ['total_cases', 'total_deaths', ...] df[columns] = df.groupby('location')[columns].fillna(method='ffill').fillna(0)
请注意,您需要两次应用fillna,一次使用前向填充,一次使用常数0来填充所有nan值。这是为了确保以新组开头的所有Nans都填充为0。