千家信息网

如何对Pandas中DataFrame数据进行删除

发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,今天就跟大家聊聊有关如何对Pandas中DataFrame数据进行删除,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。接下来介绍Pandas中D
千家信息网最后更新 2024年12月13日如何对Pandas中DataFrame数据进行删除

今天就跟大家聊聊有关如何对Pandas中DataFrame数据进行删除,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

接下来介绍PandasDataFrame数据删除,主要使用dropdel方式。

# 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 npimport pandas as pd# 生成随机数组-5行5列df = pd.DataFrame(np.random.rand(5,5))print(df)

数据展示

  0         1         2         3         40  0.760489  0.074633  0.788416  0.087612  0.5605391  0.758450  0.599777  0.384075  0.525483  0.6289102  0.386808  0.148106  0.742207  0.452627  0.7759633  0.662909  0.134640  0.186186  0.735429  0.4595564  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列删除

列的删除可以使用deldrop两种方式,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.474946b  0.912522  0.982093  0.964031  0.498638  0.826693c  0.580789  0.013957  0.515229  0.795052  0.859267d  0.540641  0.865602  0.305256  0.552566  0.754791e  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数据进行删除有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

0