在Pandas数据框架中删除第一列(3种方法)

4,504 阅读2分钟

你可以使用以下三种方法之一来删除pandas DataFrame中的第一列。

方法1:使用drop

df.drop(columns=df.columns[0], axis=1, inplace=True)

方法2:使用iloc

df = df.iloc[: , 1:]

方法3:使用del

del df[df.columns[0]]

每种方法都会产生相同的结果。

下面的例子展示了如何在实践中使用每一种方法,比如下面的pandas DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   'position': ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

	team	position assists rebounds
0	A	G	 5	 11
1	A	G	 7	 8
2	A	F	 7	 10
3	A	F	 9	 6
4	B	G	 12	 6
5	B	G	 9	 5
6	B	F	 9	 9
7	B	F	 4	 12

方法1:使用drop

下面的代码显示了如何使用**drop()**函数来删除 pandas DataFrame 的第一列:

#drop first column of DataFrame
df.drop(columns=df.columns[0], axis=1, inplace=True)

#view updated DataFrame
df

	position assists rebounds
0	G	 5	 11
1	G	 7	 8
2	F	 7	 10
3	F	 9	 6
4	G	 12	 6
5	G	 9	 5
6	F	 9	 9
7	F	 4	 12

请注意,第一列名为'team'的列已经从DataFrame中被删除。

还要注意的是,我们必须使用inplace=True来使该列在原始DataFrame中被移除。

方法2:使用iloc

下面的代码显示了如何使用iloc函数来删除pandas DataFrame的第一列:

#drop first column of DataFrame
df = df.iloc[: , 1:]

#view updated DataFrame
df

	position assists rebounds
0	G	 5	 11
1	G	 7	 8
2	F	 7	 10
3	F	 9	 6
4	G	 12	 6
5	G	 9	 5
6	F	 9	 9
7	F	 4	 12

注意,第一列名为'team'的列已经从DataFrame中被移除。

方法3:使用del

下面的代码显示了如何使用del函数来删除pandas DataFrame的第一列:

#drop first column of DataFrame
del df[df.columns[0]]

#view updated DataFrame
df

	position assists rebounds
0	G	 5	 11
1	G	 7	 8
2	F	 7	 10
3	F	 9	 6
4	G	 12	 6
5	G	 9	 5
6	F	 9	 9
7	F	 4	 12

请注意,第一列名为'team'的数据已经从DataFrame中删除。

其他资源

下面的教程解释了如何在pandas中执行其他常见操作:

如何在Pandas中删除重复的列
如何在Pandas中按索引删除行
如何在Pandas中按索引删除列
如何在Pandas中删除包含特定值的行