drop()
函数是 Pandas 中用于删除行或列的函数。它可以接受一个或多个索引或标签作为参数,并返回一个新的 DataFrame 或 Series,其中删除了指定的行或列。drop()
函数有一个 axis
参数,用于指定删除行还是列,其默认值为 0
,表示删除行。
下面是 drop()
函数的基本语法:
DataFrame.drop(labels=None, axis=0, index=None, columns=None, inplace=False, ...)
其中的参数含义如下:
labels
:要删除的行或列的索引或标签,可以是单个索引/标签、索引/标签列表或索引/标签数组。axis
:指定删除行还是列,0
表示删除行,1
表示删除列,默认为0
。index
:要删除的行的索引或标签。columns
:要删除的列的索引或标签。inplace
:指定是否在原地修改 DataFrame,即是否直接修改原始对象而不返回副本,默认为False
。
下面是一些示例说明 drop()
函数的用法:
假设我们有以下 DataFrame:
import pandas as pd
data = {
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
}
df = pd.DataFrame(data)
删除行:
# 删除索引为 0 的行
df_dropped = df.drop(0)
print(df_dropped)
删除列:
# 删除列名为 'B' 的列
df_dropped = df.drop(columns='B')
print(df_dropped)
同时删除行和列:
# 删除索引为 0 的行和列名为 'B' 的列
df_dropped = df.drop(index=0, columns='B')
print(df_dropped)
在原地修改 DataFrame:
# 将原地修改设置为 True,直接修改原始 DataFrame
df.drop(columns='B', inplace=True)
print(df)
要删除多行,下面是一个示例:
import pandas as pd
# 创建一个示例 DataFrame
data = {
'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14, 15]
}
df = pd.DataFrame(data)
# 要删除的行的索引列表
rows_to_drop = [1, 3]
# 使用 drop() 函数删除指定的行
df_dropped = df.drop(index=rows_to_drop)
print(df_dropped)
删除最后一行,可以使用以下两种方法之一:
指定要删除的行的标签:
df_dropped = df.drop(index=df.index[-1])
使用 iloc
方法,通过位置索引来删除:
df_dropped = df.drop(index=df.index[-1], inplace=True)
使用df.drop(-1)
,会报错的,原因是因为默认情况下,drop()
函数的 index
参数是用来指定要删除的行的索引或标签,而索引值不能为负数。