groupby多个条件
在数据分析和处理过程中,经常需要按照多个条件进行分组求和、计数等操作。Python中的pandas库提供了groupby函数来实现按照某一或多个条件对数据集进行分组的功能。
基本语法
dataframe.groupby(['col1', 'col2', ...]).agg_func()
其中col1
、col2
等为用来分组的列名,agg_func()
为用来对分组后的数据进行聚合计算的函数,如sum、mean、count等。
示例
以下示例代码演示了如何使用groupby多个条件进行分组:
import pandas as pd
data = {
'item': ['item1', 'item1', 'item2', 'item2', 'item2', 'item3', 'item3'],
'color': ['red', 'blue', 'blue', 'green', 'green', 'blue', 'red'],
'size': [10, 15, 20, 25, 30, 35, 40],
'price': [100, 150, 200, 250, 300, 350, 400]
}
df = pd.DataFrame(data)
# 按照item和color分组,并计算每组的平均尺寸和总价
df_grouped = df.groupby(['item', 'color']).agg({'size': 'mean', 'price': 'sum'})
print(df_grouped)
输出结果:
size price
item color
item1 blue 15 150
red 10 100
item2 green 27 550
blue 20 200
item3 red 40 400
blue 35 350
以上代码将数据集按照item
和color
两个条件进行分组,并对每个分组计算平均尺寸和总价。最终得到了每个分组的统计结果。
总结
groupby是pandas库提供的一项强大的功能,可以方便地实现数据分组和聚合计算。使用groupby多个条件分组时,只需要在groupby()
函数中传入需要分组的多个列名即可。使用agg函数对分组后的数据进行计算时,可以采用字典方式进行指定,对应分组后的每个列执行不同的计算函数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:groupby多个条件 - Python技术站