簡體   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