作者Kuba4ma ()
看板Python
標題[問題] pandas處理excel問題
時間Wed Aug 19 21:44:16 2020
import pandas as pd
df=pd.ExcelFile('test2.xlsx')
df=pd.read_excel(df)
index=len(df.index)
columns=df.columns
for col in columns:
for i in range(index):
if df[col][i]=='NaN':
df[col][i]=df[col][i-1]
https://i.imgur.com/4Lals7K.png
目前在做資料分析
我想要把excel中的遺失值用上一個來代替
但是如圖片中結果顯示
2008-10-24 - MaxTemp 那欄的值依然是NaN
請問是哪裡出錯了嗎
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.43.48.76 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1597844658.A.A3B.html
1F:推 chen1i6c04: NaN不是字串,而且NaN也不等於NaN 08/19 22:09
2F:→ Kuba4ma: 剛剛改成 if df[col][i]==float('nan'): 也是不行.... 08/19 22:14
3F:推 TitanEric: 先看那欄型態是什麼 還有有其他replace的方法 你這樣 08/19 23:03
4F:→ TitanEric: 會很慢 08/19 23:03
5F:→ TitanEric: fillna搭配method參數看看 08/19 23:05
6F:推 moodoa3583: 如果要用你的邏輯,可以用.isnull()來判斷 08/20 00:09
7F:推 keepingJBJ: 試試if df[col][i] == df[col][i]: 08/20 00:46
8F:→ keepingJBJ: Nan不等於NaN 08/20 00:47
9F:→ keepingJBJ: 結果回傳False,可以判定是否nan 08/20 00:55
10F:推 kikicheng: 可以改成 if pd.isna(df[col][i]) == True: 08/20 06:29
11F:→ Kuba4ma: 謝謝各位 我用T大的方式解決了 08/20 13:33
12F:推 gene50814: 試試ffill() 08/20 20:37