您现在的位置是:网站首页> 编程资料编程资料
python pandas数据处理之删除特定行与列_python_
2023-05-26
383人已围观
简介 python pandas数据处理之删除特定行与列_python_
dropna() 方法过滤任何含有缺失值的行
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() 其他参数解析
原文链接,我们引入了dropna()方法的其他参数。
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
参数说明:
- axis:
- axis=0: 删除包含缺失值的行
- axis=1: 删除包含缺失值的列
- how: 与axis配合使用
- how=‘any’ :只要有缺失值出现,就删除该行或列
- how=‘all’: 所有的值都缺失,才删除行或列
- thresh: axis中至少有thresh个非缺失值,否则删除。比如 axis=0,thresh=10:标识如果该行中非缺失值的数量小于10,将删除改行
- subset: list,在哪些列中查看是否有缺失值
- inplace: 是否在原数据上操作。如果为真,返回None,否则返回新的copy,去掉了缺失值
>>> 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
方法二:替换并删除,Python pandas 如果某列值为空,过滤删除所在行数据
如上面的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删除特定行列内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
您可能感兴趣的文章:
相关内容
- python基础知识之try...except...的详细用法实例_python_
- Python读取HTML中的canvas并且以图片形式存入Word文档_python_
- python中sort()函数用法详解_python_
- Python实现将图片转换为ASCII字符画_python_
- matplotlib中plt.hist()参数解释及应用实例_python_
- python正则表达式之re.match()与re.search()的用法及区别_python_
- Python3 re.search()方法的具体使用_python_
- Python读取xlsx文件报错:xlrd.biffh.XLRDError: Excel xlsx file;not supported问题解决_python_
- pandas中df.rename()的具体使用_python_
- pandas 修改列名的实现示例_python_
