Python 官方文档:入门教程 => 点击学习
目录dropna() 方法过滤任何含有缺失值的行方法一:dropna() 其他参数解析方法二:替换并删除,python pandas 如果某列值为空,过滤删除所在行数据总结dropn
pandas.DataFrame
里,如果一行数据有任意值为空,则过滤掉整行,这时候使用dropna()
方法是合适的。下面的案例,任意列只要有一个为空数据,则整行都干掉。但是我们常常遇到的情况,是根据一个指标(一列)数据的情况,去过滤行数据,类似excel里面的过滤漏斗,怎么办?
>>> import pandas as pd
>>> data = pd.DataFrame([[1.,6.5,3.],[1.],[],[6.5,3.]],index=list('abcd'),columns=list('def'))
>>> data
d e f
a 1.0 6.5 3.0
b 1.0 NaN NaN
c NaN NaN NaN
d 6.5 3.0 NaN
>>> data.dropna() #任意列只要有一个为空数据,则整行都干掉
d e f
a 1.0 6.5 3.0
原文链接,我们引入了dropna()
方法的其他参数。
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
参数说明:
>>> data.dropna(axis=0,subset=['e']) #axis=0,删除行,在subset的列中进行查看
d e f
a 1.0 6.5 3.0
d 6.5 3.0 NaN
如上面的data数据,如果希望“e”列数值为空NaN时,删除对应行也就是“b、c”行数据,保留其他行,用dropna()
似乎比较麻烦。 这个时候的思路是:
fillna()
给空值填充一个数值(如999999)index.tolist()
找出值为填充值所在行的索引drop
根据索引干掉对应的行>>> data['e']=data['e'].fillna(999999)
>>> find_index=data[(data.e==999999)].index.tolist()
>>> find_index
['b', 'c']
>>> data.drop(find_index)
d e f
a 1.0 6.5 3.0
d 6.5 3.0 NaN
到此这篇关于python pandas数据处理之删除特定行与列的文章就介绍到这了,更多相关python pandas删除特定行列内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: python pandas数据处理之删除特定行与列
本文链接: https://lsjlt.com/news/119984.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0