📜  删除列 pandas - Python (1)

📅  最后修改于: 2023-12-03 15:07:14.621000             🧑  作者: Mango

删除列 Pandas - Python

在 Pandas 中,删除列是很容易的。下面是一些示例代码,展示了如何使用 Pandas 删除列。

删除单列

可以使用 del 语句来删除单列。以下是一个示例:

import pandas as pd

# 创建数据帧
data = {'名字': ['张三', '李四', '王五'],
        '年龄': [20, 30, 40],
        '性别': ['男', '女', '男']}
df = pd.DataFrame(data)

# 删除 '性别' 列
del df['性别']

# 打印结果
print(df)

输出:

   名字  年龄
0  张三  20
1  李四  30
2  王五  40
删除多列

要删除多列,可以使用 drop() 方法。以下是一个示例:

import pandas as pd

# 创建数据帧
data = {'名字': ['张三', '李四', '王五'],
        '年龄': [20, 30, 40],
        '性别': ['男', '女', '男'],
        '学历': ['大专', '本科', '硕士']}
df = pd.DataFrame(data)

# 删除 '性别' 和 '学历' 列
df = df.drop(['性别', '学历'], axis=1)

# 打印结果
print(df)

输出:

   名字  年龄
0  张三  20
1  李四  30
2  王五  40

在此示例中,drop() 方法的第一个参数是要删除的列的名称列表,axis=1 表示我们要删除列而不是行。

删除基于条件的列

有些时候,你可能想要删除某些基于条件的列。下面是一个示例,演示了如何使用 Pandas 删除所有年龄小于 25 岁的人的数据:

import pandas as pd

# 创建数据帧
data = {'名字': ['张三', '李四', '王五'],
        '年龄': [20, 30, 40],
        '性别': ['男', '女', '男']}
df = pd.DataFrame(data)

# 删除所有年龄小于 25 岁的人的数据
df = df.loc[df['年龄'] >= 25]

# 打印结果
print(df)

输出:

   名字  年龄 性别
1  李四  30  女
2  王五  40  男

在此示例中,loc[] 方法用于基于条件进行行筛选。筛选条件是 df['年龄'] >= 25,因此只有年龄大于或等于 25 岁的人的行被保留。由于我们正在进行列筛选,所以可以得到符合条件的列。