要按照一列中的标签列表对Pandas DataFrame的行进行分组,可以使用Pandas的groupby
方法。下面是一个示例代码:
import pandas as pd
# 创建示例DataFrame
data = {
'标签': ['A', 'B', 'A', 'B', 'C', 'A', 'B', 'C'],
'数值': [1, 2, 3, 4, 5, 6, 7, 8]
}
df = pd.DataFrame(data)
# 定义标签列表
label_list = ['A', 'B']
# 按照标签列表对行进行分组
grouped = df[df['标签'].isin(label_list)].groupby('标签')
# 打印分组结果
for label, group in grouped:
print(f"标签: {label}")
print(group)
print()
这个示例代码中,我们首先创建了一个示例DataFrame,包含了一个标签列和一个数值列。然后,我们定义了一个标签列表label_list
,包含了我们想要按照分组的标签。接着,我们使用df['标签'].isin(label_list)
来创建一个布尔索引,选择标签列中包含在标签列表中的行。最后,我们使用groupby('标签')
将这些行按照标签列进行分组。
在打印结果时,我们使用了一个循环来遍历每个分组,然后打印分组的标签和相应的行数据。
这个方法的好处是它使用了Pandas的向量化操作,因此在处理大型数据集时,效率比较高。
下一篇:按照一列中的分组和标准化名称