作者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/cn.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