Python – 从 Pandas 数据框中选择多列
Pandas 是 Python 中的一个数据分析库,适用于各种数据操作和分析,其中常用的就是数据筛选,也就是按照一定的规则筛选出需要的数据,包括从 Pandas 数据框中选择多列。下面介绍如何在 Python 中通过 Pandas 选择多列。
基本语法
在 Pandas 中,可以使用中括号和列名的形式来选择一个列,选择多列时只需要在中括号中使用一个列表即可,如下示例代码所示:
# 导入 Pandas 模块
import pandas as pd
# 构造数据框
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 选择多列
df[['A', 'C']]
输出结果如下:
A C
0 1 7
1 2 8
2 3 9
按条件选择多列
有时候我们需要选择满足一定条件的多列,例如我们需要选择所有值大于 5 的列,可以使用如下代码:
# 选择满足条件的列
df.loc[:, df.max() > 5]
输出结果如下:
B C
0 4 7
1 5 8
2 6 9
上述代码中,首先使用 df.max()
得到了数据框中每一列的最大值,然后选择最大值大于 5 的列。
使用正则表达式选择多列
如果我们想要选择所有列名以字母 A 开头的列,可以使用正则表达式。如下所示:
# 导入re模块
import re
# 选择符合正则表达式的列
df.loc[:, df.columns.str.match('A.*')]
输出结果如下:
A
0 1
1 2
2 3
上述代码中,df.columns.str.match('A.*')
是一个布尔型的列表,表示每一列是否匹配正则表达式 A.*
。使用 df.loc
语句选择所有匹配的列。
结论
Pandas 是一个十分强大的数据分析库,能够高效地完成数据清洗、分析等操作。选择多列也是 Pandas 中常用的操作之一,我们可以通过基本语法、条件选择以及正则表达式等方式来实现。希望本文能够对读者在 Python 和 Pandas 中选择多列有所帮助。