下面是关于 "Pandas.DataFrame删除指定行和列(drop)的实现" 的完整攻略,包括基本用法、参数解析、示例等。
基本用法
pandas.DataFrame 的一项常见操作是删除行或列,即 drop()
方法。drop()
方法可以根据指定的标签(label)或下标(index)删除行或列。具体用法如下:
df.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')
其中各参数的含义如下:
- labels: 要删除的行或列的标签(label),可以是单个标签,也可以是一个标签的列表或数组。
- axis: 要删除的轴,可以为 0 或 1,默认为 0,即删除行。
- index: 要删除的行的下标(index),可以是单个下标,也可以是一个下标的列表或数组。如果指定了标签(labels)参数,则忽略该参数。
- columns: 要删除的列的标签(label),可以是单个标签,也可以是一个标签的列表或数组。如果指定了标签(labels)参数,则忽略该参数。
- level: 删除多重索引(multi-index)的某一级别(level)的行或列。
- inplace: 是否直接修改原 DataFrame,如果为 True,则直接修改原 DataFrame,返回 None;否则,返回删除后的新 DataFrame。
- errors: 如果 labels 或 index 不是有效的标签或下标,则引发异常。可以设置为 raise 或 ignore,默认为 raise。
示例说明
示例1:删除行
假设有如下的 DataFrame:
>>> import pandas as pd
>>> data = {'name': ['Alice', 'Ben', 'Cathy', 'David'],
... 'age': [20, 21, 22, 23],
... 'gender': ['F', 'M', 'F', 'M']}
>>> df = pd.DataFrame(data)
>>> df
name age gender
0 Alice 20 F
1 Ben 21 M
2 Cathy 22 F
3 David 23 M
我们想要删除第 2 行和第 4 行,可以通过下面的方式实现:
>>> df.drop(index=[1, 3], inplace=True)
>>> df
name age gender
0 Alice 20 F
2 Cathy 22 F
在上面的代码中,我们传递了一个列表 [1, 3] 给 index
参数,指定要删除的行的下标。指定了 inplace=True
,表示直接修改原 DataFrame。
示例2:删除列
我们同样可以删除 DataFrame 中的列。假设有如下的 DataFrame:
>>> data = {'name': ['Alice', 'Ben', 'Cathy', 'David'],
... 'age': [20, 21, 22, 23],
... 'gender': ['F', 'M', 'F', 'M']}
>>> df = pd.DataFrame(data)
>>> df
name age gender
0 Alice 20 F
1 Ben 21 M
2 Cathy 22 F
3 David 23 M
我们想删除 age 这一列,可以使用下面的代码:
>>> df.drop(columns='age', inplace=True)
>>> df
name gender
0 Alice F
1 Ben M
2 Cathy F
3 David M
在上面的代码中,我们指定了要删除的列的标签 'age'
,通过 columns
参数传递给 drop()
方法。同样地,指定了 inplace=True
,表示直接修改原 DataFrame。
以上就是关于 "Pandas.DataFrame删除指定行和列(drop)的实现" 的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas.DataFrame删除指定行和列(drop)的实现 - Python技术站