看板 Python 關於我們 聯絡資訊
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://www.ptt.cc/bbs/Python/M.1597844658.A.A3B.html
chen1i6c04: NaN不是字串,而且NaN也不等於NaN 08/19 22:09
Kuba4ma: 剛剛改成 if df[col][i]==float('nan'): 也是不行.... 08/19 22:14
TitanEric: 先看那欄型態是什麼 還有有其他replace的方法 你這樣 08/19 23:03
TitanEric: 會很慢 08/19 23:03
TitanEric: fillna搭配method參數看看 08/19 23:05
moodoa3583: 如果要用你的邏輯,可以用.isnull()來判斷 08/20 00:09
keepingJBJ: 試試if df[col][i] == df[col][i]: 08/20 00:46
keepingJBJ: Nan不等於NaN 08/20 00:47
keepingJBJ: 結果回傳False,可以判定是否nan 08/20 00:55
kikicheng: 可以改成 if pd.isna(df[col][i]) == True: 08/20 06:29
Kuba4ma: 謝謝各位 我用T大的方式解決了 08/20 13:33
gene50814: 試試ffill() 08/20 20:37