如何筛选DataFrame指定列值并将对应列转为数组?
筛选指定行并将对应列转换为数组
假设你使用的是pandas处理这个DataFrame,以下是实现需求的具体步骤:
步骤1:创建测试DataFrame(模拟你的数据)
import pandas as pd data = { 'Letter': ['B', 'B', 'C', 'B', 'C', 'B'], 'Stats': [0, 1, 22, 0, 0, 3] } df = pd.DataFrame(data)
步骤2:筛选Letter为'B'的行并提取Stats列转为数组
通过布尔索引筛选目标行,再用to_numpy()方法将列数据转换为数组(to_numpy()是pandas官方推荐的更清晰写法,也可以用values实现相同效果):
# 筛选+转换 result_array = df[df['Letter'] == 'B']['Stats'].to_numpy()
运行后result_array的结果为:
array([0, 1, 0, 3])
补充说明
- 如果需要保留pandas的Series对象而非numpy数组,去掉
.to_numpy()即可 - 布尔索引
df['Letter'] == 'B'会生成布尔序列,用来精准筛选符合条件的行
内容的提问来源于stack exchange,提问作者Chris90
相关产品推荐
相关产品推荐

