20-pandas聚合

import numpy as np
import pandas as pd
#1.聚合一次
df=pd.DataFrame({"age":[18,20,22,22,23,23],
                 "name":["A","B","C","D","E","F"],
                 "price1":[1000,900,800,700,600,600],
                 "price2":[10,9,8,7,6,6]})
print(df)
result1=df.groupby("age")["price1"]#按照age抓取price
print(result1.groups)
print(result1.sum())#总和
print(result1.mean())#平均
print(result1.max())
print(result1.min())

#2.聚合多次
d1={'item':['萝卜','白菜','辣椒','冬瓜','萝卜','白菜','辣椒','冬瓜'],
    'color':['white','white','red','green','white','white','red','green'],
    'weight':[1,2,3,4,1,2,3,4],
    'price':[1,2,3,4,1,2,3,4]}
df=pd.DataFrame(d1)
result=df.groupby("color")["price"]
print(result.groups)
print(result.sum()["white"])
print(result.sum()["red"])
print(result.max()["white"])
print(result.mean()["white"])

result2=df.groupby("item")["price","weight"]
print(result2.groups)
print(result2.sum()["weight"]["萝卜"])
print(result2.sum()["weight"].萝卜)

sums=df.groupby("color").sum().add_prefix("avg__")
print(sums)
print(pd.merge(pd,sums,left_on="color",right_index=True))

  

posted @ 2020-03-09 12:30  胡辣汤王子  阅读(123)  评论(0编辑  收藏  举报