[英]Pandas replace NaN values with zeros after pivot operation
我有一個像這樣的 DataFrame:
Year Month Day Rain (mm)
2021 1 1 15
2021 1 2 NaN
2021 1 3 12
依此類推(有多年)。 我使用pivot_table
function 將 DataFrame 轉換為:
Year 2021 2020 2019 2018 2017
Month Day
1 1 15
2 NaN
3 12
我用了:
df = df.pivot_table(index=['Month', 'Day'], columns='Year',
values='Rain (mm)', aggfunc='first')
現在我想用每列中的零替換所有NaN
值和可能的-1
值(列我的意思是年),但我無法這樣做。 我努力了:
df = df.fillna(0)
並且:
df.loc[df['Rain (mm)'] == NaN, 'Rain (mm)'] = 0
但兩者都不起作用,沒有錯誤消息/異常,dataframe 保持不變。 我做錯了什么? 任何建議都受到高度贊賞。
我認為問題是NaN
是字符串,所以不能替換它們,所以首先嘗試將值轉換為數字:
df['Rain (mm)'] = pd.to_numeric(df['Rain (mm)'], errors='coerce')
df = df.pivot_table(index=['Month', 'Day'], columns='Year',
values='Rain (mm)', aggfunc='first').fillna(0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.