[問題] pandas處理excel問題

看板Python作者時間4年前 (2020/08/19 21:44), 編輯推噓6(606)
留言12則, 7人參與, 4年前最新討論串1/1
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

08/19 22:09, 4年前 , 1F
NaN不是字串,而且NaN也不等於NaN
08/19 22:09, 1F

08/19 22:14, 4年前 , 2F
剛剛改成 if df[col][i]==float('nan'): 也是不行....
08/19 22:14, 2F

08/19 23:03, 4年前 , 3F
先看那欄型態是什麼 還有有其他replace的方法 你這樣
08/19 23:03, 3F

08/19 23:03, 4年前 , 4F
會很慢
08/19 23:03, 4F

08/19 23:05, 4年前 , 5F
fillna搭配method參數看看
08/19 23:05, 5F

08/20 00:09, 4年前 , 6F
如果要用你的邏輯,可以用.isnull()來判斷
08/20 00:09, 6F

08/20 00:46, 4年前 , 7F
試試if df[col][i] == df[col][i]:
08/20 00:46, 7F

08/20 00:47, 4年前 , 8F
Nan不等於NaN
08/20 00:47, 8F

08/20 00:55, 4年前 , 9F
結果回傳False,可以判定是否nan
08/20 00:55, 9F

08/20 06:29, 4年前 , 10F
可以改成 if pd.isna(df[col][i]) == True:
08/20 06:29, 10F

08/20 13:33, 4年前 , 11F
謝謝各位 我用T大的方式解決了
08/20 13:33, 11F

08/20 20:37, 4年前 , 12F
試試ffill()
08/20 20:37, 12F
文章代碼(AID): #1VFIooex (Python)
文章代碼(AID): #1VFIooex (Python)