作者MAGICXX (逢甲阿法)
看板Python
标题[问题] pandas删除空值
时间Fri Apr 24 19:10:47 2020
大家晚安大家好
我现在有一些资料 他可能含有空值
我想要把他的空值给删掉(一整行或者一整列)
请问该如何处理比较对?
这边是我的资料
他在时序资料内 会有一些空值
https://reurl.cc/5lONv6
因为档案众多 所以我用回圈下去跑
a=listdir('./out/')
for i in a:
print i
b=pd.read_csv('./out/'+i,error_bad_lines=False)
b.dropna(axis='columns',how='any',inplace=True,)
b.dropna(axis='index',how='any',inplace=True,)
b.to_csv('./in/'+i,index=False,mode='a',encoding='utf8')
虽然没报错 但是他出来的档案空值的行跟列都还存在
我现在需要他的空值的行列都删除 请问该怎麽处理才对?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.134.51.64 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1587726650.A.8EC.html
※ 编辑: MAGICXX (140.134.51.64 台湾), 04/24/2020 19:11:23
1F:推 moodoa3583: .dropna() 04/24 19:18
2F:推 moodoa3583: 噢噢我看到你在回圈内有dropna了 04/24 19:20
3F:→ MAGICXX: 这个函数会删掉整栏 还是只会删值啊? index也会删掉吗? 04/24 20:31
4F:推 moodoa3583: 整栏/列都会删掉,看你axis是0还是1,整条row删除後in 04/24 21:18
5F:→ moodoa3583: dex自然也会消失 04/24 21:18
6F:→ MAGICXX: 可是我这样程式跑过 半行都没删掉耶.... 04/25 01:37
7F:→ MAGICXX: 我确定里面至少一行(ROWS)跟一列(COLUMNS)都有空格 04/25 01:38
8F:→ MAGICXX: 结果都没有删掉... 04/25 01:38
9F:推 dary856974: b= b.dropna(axis='columns',how='any',inplace=True, 04/25 03:39
10F:→ dary856974: ) 04/25 03:39
11F:→ dary856974: b= 04/25 03:39
12F:→ dary856974: b.dropna(axis='index',how='any',inplace=True,) 04/25 03:39
13F:→ weiyanchen: 下载你的档案试跑看起来是会删掉空值的才是? 04/25 03:46
15F:→ weiyanchen: 不过若row有空值看起来会全删掉 04/25 03:48
16F:→ weiyanchen: (留下的row跟表头是一样的,没有意义) 04/25 03:49
17F:→ weiyanchen: 但若依column来删的话,也只会剩下column date 04/25 03:50
18F:→ weiyanchen: 这是你想要的结果吗? 04/25 03:50
19F:→ weiyanchen: 但若是你先drop column #7, #8, #16, #25 04/25 03:52
20F:→ weiyanchen: 再去dropna看起来会比较合理(单纯依info猜测) 04/25 03:53
22F:→ weiyanchen: 类似像上图 04/25 03:58
23F:推 Jeffrey11061: 如果function不是in-place的你要assign呀~ 04/25 12:36
24F:→ MAGICXX: 感谢各位大大 其实重点是不要那几排的值 比如说2/30 2/29 04/25 15:55
25F:→ MAGICXX: 的 或者是栏位根本没有值 缺一整排的空值的... 04/25 15:55
26F:→ MAGICXX: 结果我找到问题让程式跑完 剩第一栏的表头 可以请问各位 04/25 15:56
27F:→ MAGICXX: 大大还有办法把那些空值删除吗? 04/25 15:56
28F:推 dary856974: df = df.loc[:, df.columns.notnull()] 你是这个意思 04/25 18:39
29F:→ dary856974: 吗?另外dropna一个就可以了,主要是要assign 04/25 18:39
30F:推 dary856974: 正常的话应该是drop index的就好,再来对col name filt 04/25 18:46
31F:→ dary856974: er,不知道你是不是要这样 04/25 18:46