Pandas中DataFrame数据删除详情
本文介绍
Pandas
中DataFrame
数据删除,主要使用drop
、del
方式。
# drop函数的参数解释
drop(
self,
labels=None, # 就是要删除的行列的标签,用列表给定;
axis=0, # axis是指处哪一个轴,0为行(默认),1为列;
index=None, # index是指某一行或者多行
columns=None, # columns是指某一列或者多列
level=None, # level是指等级,针对多重索引的情况;
inplace=False, # inplaces是否替换原来的dataframe;
errors="raise",
)
axis=0或者 和 index或columns 指定行列只需要使用一组就行
1.根据默认的行列索引操作
示例数据
import numpy as np
import pandas as pd
# 生成随机数组-5行5列
df = pd.DataFrame(np.random.rand(5,5))
print(df)
数据展示
0 1 2 3 4
0 0.760489 0.074633 0.788416 0.087612 0.560539
1 0.758450 0.599777 0.384075 0.525483 0.628910
2 0.386808 0.148106 0.742207 0.452627 0.775963
3 0.662909 0.134640 0.186186 0.735429 0.459556
4 0.328694 0.269088 0.331404 0.835388 0.899107
1.1行删除
[1]删除单行
# 删除单行,删除第2行
df.drop(df.index[1],inplace=True) # inplace=True 原地修改
print(df)
执行结果:
0 1 2 3 4
0 0.605764 0.234973 0.566346 0.598105 0.478153
2 0.383230 0.822174 0.228855 0.743258 0.076701
3 0.875287 0.576668 0.176982 0.341827 0.112582
4 0.205425 0.898544 0.799174 0.000905 0.377990
[2]删除不连续多行
# 删除不连续多行,删除第2和第4行
df.drop(df.index[[1,3]],inplace=True)
print(df)
执行结果:
0 1 2 3 4
0 0.978612 0.556539 0.781362 0.547527 0.706686
2 0.845822 0.321716 0.444176 0.053915 0.296631
4 0.617735 0.040859 0.129235 0.525116 0.005357
[3]删除连续多行
# 删除连续多行
df.drop(df.index[1:3],inplace=True) # 开区间,最后一个索引号不计算在内
print(df)
执行结果:
0 1 2 3 4
0 0.072891 0.926297 0.882265 0.971368 0.567840
3 0.163212 0.546069 0.360990 0.494274 0.065744
4 0.752917 0.242112 0.526675 0.918713 0.320725
1.2列删除
列的删除可以使用
del
和drop
两种方式,del df[1] # 删除第2列,该种方式为原地删除,本文具体讲解drop函数删除。
[1]删除指定列
df.drop([1,3],axis=1,inplace=True) # 指定轴为列
# df.drop(columns=[1,3],inplace=True) # 直接指定列
执行结果:
0 2 4
0 0.592869 0.123369 0.815126
1 0.127064 0.093994 0.332790
2 0.411560 0.118753 0.143854
3 0.965317 0.267740 0.349927
4 0.688604 0.699658 0.932645
[2]删除连续列
df.drop(df.columns[1:3],axis=1,inplace=True) #指定轴
# df.drop(columns=df.columns[1:3],inplace = True) # 指定列
print(df)
执行结果:
0 3 4
0 0.309674 0.974694 0.660285
1 0.677328 0.969440 0.953452
2 0.954114 0.953569 0.959771
3 0.365643 0.417065 0.951372
4 0.733081 0.880914 0.804032
2.根据自定义的行列索引操作
示例数据
df = pd.DataFrame(data=np.random.rand(5,5))
df.index = list('abcde')
df.columns = list('一二三四五')
print(df)
数据展示
一 二 三 四 五
a 0.188495 0.574422 0.530326 0.842489 0.474946
b 0.912522 0.982093 0.964031 0.498638 0.826693
c 0.580789 0.013957 0.515229 0.795052 0.859267
d 0.540641 0.865602 0.305256 0.552566 0.754791
e 0.375407 0.236118 0.129210 0.711744 0.067356
2.1行删除
[1]删除单行
df.drop(['b'],inplace=True)
print(df)
执行结果:
一 二 三 四 五
a 0.306350 0.622067 0.030573 0.490563 0.009987
c 0.672423 0.071661 0.274529 0.400086 0.263024
d 0.654204 0.809087 0.066099 0.167290 0.534452
e 0.628917 0.232629 0.070167 0.469962 0.957898
[2]删除多行
df.drop(['b','d'],inplace=True)
print(df)
执行结果:
一 二 三 四 五
a 0.391583 0.509862 0.924634 0.466563 0.058414
c 0.802016 0.621347 0.659215 0.575728 0.935811
e 0.223372 0.286116 0.130587 0.113544 0.910859
2.2列删除
[1]删除单列
df.drop(['二'],axis=1,inplace=True)# 删除单列
print(df)
执行结果:
一 三 四 五
a 0.276147 0.797404 0.184472 0.081162
b 0.630190 0.328055 0.428668 0.168491
c 0.979958 0.029032 0.934626 0.106805
d 0.762995 0.003134 0.136252 0.317423
e 0.137211 0.116607 0.367742 0.840080
[2]删除多列
df.drop(['二','四'],axis=1,inplace=True) # 删除多列
# df.drop(columns=['二','四'],inplace=True) # 删除多列
print(df)
执行结果:
一 三 五
a 0.665647 0.709243 0.019711
b 0.920729 0.995913 0.490998
c 0.352816 0.185802 0.406174
d 0.136414 0.563546 0.762806
e 0.259710 0.775422 0.794880
到此这篇关于Pandas
中DataFrame
数据删除详情的文章就介绍到这了,更多相关Pandas
中DataFrame
数据删除 原创内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341