📅  最后修改于: 2023-12-03 15:22:42.851000             🧑  作者: Mango
在Python中,我们经常会用到数据框DataFrame
来处理数据。删除列数据框的操作是常见的数据清洗操作之一。本文将介绍几种常用的删除列数据框的方法。
要删除单列数据框中的某一列,可以使用pop
方法或del
关键字。pop
方法会返回被删除的列,而del
关键字则不会返回任何值。
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
print(df)
# 使用 pop 方法删除单列
col = df.pop('B')
print(col)
print(df)
# 使用 del 关键字删除单列
del df['C']
print(df)
| | A | B | C |
|---:|----:|----:|----:|
| 0 | 1 | 4 | 7 |
| 1 | 2 | 5 | 8 |
| 2 | 3 | 6 | 9 |
1 4
2 5
3 6
Name: B, dtype: int64
| | A | C |
|---:|----:|----:|
| 0 | 1 | 7 |
| 1 | 2 | 8 |
| 2 | 3 | 9 |
| | A |
|---:|----:|
| 0 | 1 |
| 1 | 2 |
| 2 | 3 |
要删除多列数据框中的某几列,可以使用drop
方法。在drop
方法中指定columns
参数即可删除指定的列。需要注意的是,drop
方法不会修改原始数据框,而是返回一个新的数据框。如果需要在原始数据框上操作,需要使用inplace=True
参数。
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
print(df)
# 使用 drop 方法删除多列
new_df = df.drop(columns=['B', 'C'])
print(new_df)
print(df)
# 使用 inplace 参数在原始数据框上操作
df.drop(columns=['B', 'C'], inplace=True)
print(df)
| | A | B | C |
|---:|----:|----:|----:|
| 0 | 1 | 4 | 7 |
| 1 | 2 | 5 | 8 |
| 2 | 3 | 6 | 9 |
| | A |
|---:|----:|
| 0 | 1 |
| 1 | 2 |
| 2 | 3 |
| | A | B | C |
|---:|----:|----:|----:|
| 0 | 1 | 4 | 7 |
| 1 | 2 | 5 | 8 |
| 2 | 3 | 6 | 9 |
| | A |
|---:|----:|
| 0 | 1 |
| 1 | 2 |
| 2 | 3 |
如果需要删除数据框的某几行,可以使用drop
方法。在drop
方法中指定index
参数即可删除指定的行。需要注意的是,drop
方法不会修改原始数据框,而是返回一个新的数据框。如果需要在原始数据框上操作,需要使用inplace=True
参数。此外,也可以使用loc
方法来删除指定的行。在loc
方法中通过指定行的索引来删除行。
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
print(df)
# 使用 drop 方法删除行
new_df = df.drop(index=[1, 2])
print(new_df)
print(df)
# 使用 inplace 参数在原始数据框上操作
df.drop(index=[1, 2], inplace=True)
print(df)
# 使用 loc 方法删除行
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
print(df)
df = df.loc[df['A'] != 2]
print(df)
| | A | B | C |
|---:|----:|----:|----:|
| 0 | 1 | 4 | 7 |
| 1 | 2 | 5 | 8 |
| 2 | 3 | 6 | 9 |
| | A | B | C |
|---:|----:|----:|----:|
| 0 | 1 | 4 | 7 |
| | A | B | C |
|---:|----:|----:|----:|
| 0 | 1 | 4 | 7 |
| 1 | 2 | 5 | 8 |
| 2 | 3 | 6 | 9 |
| A | B | C |
|----:|----:|----:|
| 1 | 4 | 7 |
| | A | B | C |
|---:|----:|----:|----:|
| 0 | 1 | 4 | 7 |
| 2 | 3 | 6 | 9 |
以上就是几种常用的删除列数据框的方法。除此之外,还有一些其他的删除方法,如通过dropna
方法删除缺失值等。需要根据具体的场景选择合适的方法来进行操作。