Python pandas删除指定行/列数据的方法实例
这篇文章主要给大家介绍了关于Python pandas删除指定行/列数据的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
目录
1.滤除缺失数据dropna()
1)滤除含有NaN值的所有行
2)滤除含有NaN值的所有列
3)滤除元素都是NaN值的行
4)滤除元素都是NaN值的列
5)滤除指定列中含有缺失的行
2.删除重复值 drop_duplicates()
1)keep=“first”
2)keep=“last”
3)keep=False
4)删除指定列中重复项对应的行
3.根据指定条件删除行列drop()
1).删除指定列
2).删除指定行
总结
1.滤除缺失数据dropna()
1 2 3 | import pandas as pd import numpy as np df = pd.DataFrame({ "record" :[np.nan, "亚健康|潘光|45岁" , "疾病|张思" ,np.nan], "date" :[np.nan, 20210102 , 20210103 , 20210104 ]},index = [ "one" , "two" , "three" , "four" ]) |
1)滤除含有NaN值的所有行
1 | df.dropna() #默认axis=0 |
2)滤除含有NaN值的所有列
1 | df.dropna(axis = 1 ) |
3)滤除元素都是NaN值的行
1 | df.dropna(axis = 0 ,how = "all" ) |
4)滤除元素都是NaN值的列
5)滤除指定列中含有缺失的行
1 | df.dropna(subset = [ "record" ],axis = 0 ) |
以上如果需要在原数据上直接做更改,需设置参数inplace=True
2.删除重复值 drop_duplicates()
1 | df = pd.DataFrame({ 'state' :[ 1 , 1 , 2 , 2 , 1 , 2 , 2 ], 'pop' :[ 'a' , 'b' , 'c' , 'd' , 'b' , 'c' , 'd' ]}) |
语法:drop_duplicates(subset,keep,inplace),其中参数 keep:{‘first’,‘last’,False},默认’first’
first:保留第一次出现的重复项,删除第二次及之后出现的重复项。
last:保留最后一次出现的重复项,删除之前出现的重复项。
"false":删除所有重复项。
1)keep=“first”
1 | df.drop_duplicates(keep = "first" ) |
2)keep=“last”
1 | df.drop_duplicates(keep = "last" ) |
3)keep=False
1 | df.drop_duplicates(keep = False ) |
4)删除指定列中重复项对应的行
1 | df.drop_duplicates(subset = [ "state" ],keep = "first" ) |
以上如果需要在原数据上直接做更改,需设置参数inplace=True
3.根据指定条件删除行列drop()
1 | df = pd.DataFrame(np.arange( 16 ).reshape( 4 , 4 ),columns = [ "one" , "two" , "three" , "four" ]) |
1).删除指定列
1 | df.drop([ "one" ],axis = 1 ) |
另外,也可通过del df["one"]
来实现删除指定列,但该方法不推荐,因为这默认直接在源数据上做更改。
2).删除指定行
1 | df.drop([ 0 ],axis = 0 ) |
以上如果需要在原数据上直接做更改,需设置参数inplace=True
总结
到此这篇关于Python pandas删除指定行/列数据的文章就介绍到这了
原文链接:https://blog.csdn.net/p1306252/article/details/114890550