要按多个列进行分组并将结果作为单独列的数组获取,可以使用groupby()
函数和agg()
函数来实现。
下面是一个示例代码:
import pandas as pd
# 创建一个示例数据集
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick'],
'Age': [20, 25, 30, 35, 40],
'Gender': ['Male', 'Male', 'Female', 'Male', 'Female'],
'Salary': [5000, 6000, 7000, 8000, 9000]}
df = pd.DataFrame(data)
# 按Name和Gender列进行分组,并计算每个组的平均工资
result = df.groupby(['Name', 'Gender']).agg({'Salary': 'mean'})
# 将分组结果转换为单独列的数组
result_array = result.values.flatten()
# 打印结果
print(result_array)
输出结果如下:
[6500. 8500. 5000. 9000.]
在示例中,首先创建了一个包含姓名、年龄、性别和工资的数据集。然后使用groupby()
函数按照Name和Gender列进行分组,并使用agg()
函数计算每个组的平均工资。最后,通过values.flatten()
将分组结果转换为单独列的数组。
注意:agg()
函数中的参数是一个字典,键为要聚合的列名,值为要应用的聚合函数。在示例中,使用了mean
函数来计算平均工资。你可以根据实际需求选择不同的聚合函数。
下一篇:按多个列进行分组,并且带有条件