drop()函数的用法:DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)
默认参数 axis=0,表示对行进行操作,如需对列进行操作需要更改默认参数为 axis=1,
默认参数 inplace=False,表示该删除操作不改变原数据,而是返回一个执行删除操作后的新 dataframe,如需直接在原数据上进行删除操作,需要更改默认参数为 inplace=True
参数说明 | |
---|---|
labels | 就是要删除的行列的名字,用列表给定 |
axis | 默认为 0,指删除行,因此删除 columns 时要指定 axis=1; |
index | 直接指定要删除的行 |
columns | 直接指定要删除的列 |
inplace=False, | 默认该删除操作不改变原数据,而是返回一个执行删除操作后的 新 dataframe; |
inplace=True, | 则会直接在原数据上进行删除操作,删除后无法返回。 |
因此,删除行列有两种方式:
- labels=None,axis=0 的组合
- index 或 columns 直接指定要删除的行或列
删除 Series 的一个元素
series = Series([4.5,7.2,-5.3,3.6], index=['A','B','C','D'])
series .drop('C')
output:
A 4.5
B 7.2
D 3.6
删除 DataFrame 的行或列
>>> df = pd.DataFrame(np.arange(12).reshape(3,4), columns=['A', 'B', 'C', 'D'])
>>> df
A B C D
0 0 1 2 3
1 4 5 6 7
2 8 9 10 11
#Drop columns, 两种方法等价
>>> df.drop(['B', 'C'], axis=1)
A D
0 0 3
1 4 7
2 8 11
>>> df.drop(columns=['B', 'C'])
A D
0 0 3
1 4 7
2 8 11
# 第一种方法下删除column一定要指定axis=1,否则会报错,如下
>>> df.drop(['B', 'C'])
ValueError: labels ['B' 'C'] not contained in axis
#Drop rows
>>>df.drop([0, 1])
A B C D
2 8 9 10 11
>>> df.drop(index=[0, 1])
A B C D
2 8 9 10 11
说明
.drop() 返回的是一个新对象,原对象并不会被改变。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于