python进⾏数据清理之pandas中的drop⽤法
好久好久没有更新博客了,之前⾃学的估计也都忘记差不多了。由于毕业选择从事的⾏业与⾃⼰的兴趣爱好完全两条路,⼼情也难过了很久,既然⼊职了就要好好⼲,仍要保持⾃⼰的兴趣,利⽤业余时间重拾之前的乐趣。
从基本的数据清理学起吧
讲⼀下drop函数的⽤法
删除表中的某⼀⾏或者某⼀列更明智的⽅法是使⽤drop,它不改变原有的df中的数据,⽽是可选择性的返回另⼀个dataframe来存放删除后的数据。
删除⽆效项
df[df.isnull()]  #返回的是个true或false的Series对象(掩码对象),进⽽筛选出我们需要的特定数据。
ull()]
df.dropna()    #将所有含有nan项的row删除
df.dropna(axis=1,thresh=3)  #将在列的⽅向上三个为NaN的项删除
df.dropna(how='ALL')        #将全部项都是nan的row删除
这⾥⾯,print(data.dropna() )和 print(ull()] )结果⼀样
填充空缺项
df.fillna(0)
df.fillna({1:0, 2:0.5})        #对第⼀列nan值赋0,第⼆列赋值0.5
df.fillna(method='ffill')  #在列⽅向上以前⼀个值作为值赋给NaN
truncatedelete和drop的区别
method : {‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}, default None
pad/ffill:⽤前⼀个⾮缺失值去填充该缺失值
backfill/bfill:⽤下⼀个⾮缺失值填充该缺失值
None:指定⼀个值去替换缺失值
drop函数的使⽤:
(1)删除⾏、列
print(frame.drop(['a']))
print(frame.drop(['b'], axis = 1))#drop函数默认删除⾏,列需要加axis = 1
(2)inplace参数
1. DF.drop('column_name', axis=1);
2. DF.drop('column_name',axis=1, inplace=True)
3. DF.drop([DF.columns[[0,1, 3]]], axis=1, inplace=True)
对原数组作出修改并返回⼀个新数组,往往都有⼀个 inplace可选参数。如果⼿动设定为True(默认为False),那么原数组直接就被替换。也就是说,采⽤inplace=True之后,原数组名对应的内存值直接改变(如2和3情况所⽰);
⽽采⽤inplace=False之后,原数组名对应的内存值并不改变,需要将新的结果赋给⼀个新的数组或者覆
盖原数组的内存位置(如1情况所⽰)。
DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。