用 Python 编写一个程序来删除给定 DataFrame 中的一列或多列

pythonpandasserver side programmingprogramming更新于 2024/6/20 22:36:17

假设,你有一个数据框,

 one two three
0 1    2    3
1 4    5    6

删除单列的结果是,

  two three
0 2    3
1 5    6

删除多列后的结果是,

 three
0 3
1 6

为了解决这个问题,我们将遵循下面给出的步骤 −

解决方案 1

  • 定义一个数据框

  • 使用以下方法删除特定列,

del df['one']

示例

让我们看看下面的代码以更好地理解 −

import pandas as pd
data = [[1,2,3],[4,5,6]]
df = pd.DataFrame(data,columns=('one','two','three'))
print("删除前\n", df)
del df['one']
print("删除后\n", df)

输出

删除前
 one two three
0 1    2    3
1 4    5    6
删除后
 two three
0 2    3
1 5    6

解决方案 2

  • 定义数据框

  • 使用 pop 函数删除特定列。定义如下

df.pop('one')

示例

import pandas as pd
data = [[1,2,3],[4,5,6]]
df = pd.DataFrame(data,columns=('one','two','three'))
print("Before removal\n", df)
df.pop('one')
print("After removal\n", df)

输出

Before removal
 one two three
0 1    2    3
1 4    5    6
After deletion
 two three
0 2    3
1 5    6

解决方案 3

  • 定义一个数据框

  • 应用以下方法删除多个列,

df.drop(columns=['one','two'],inplace = True)

示例

import pandas as pd
data = [[1,2,3],[4,5,6]]
df = pd.DataFrame(data,columns=('one','two','three'))
print("Before deletion\n ", df)
df.drop(columns=['one','two'],inplace = True)
print("After deleting two columns\n", df)

输出

Before deletion
 one two three
0 1    2    3
1 4    5    6
After deletion
 two three
0 2    3
1 5    6
After deleting two columns
 three
0 3
1 6

相关文章


有用资源