取 pandas 中多列的平均值
Take mean of more than one columns in pandas
下面是我的数据框,我需要对每个组中的 cols 取平均值
data = [['Group 1',10,100],
['Group 1',20,80],
['Group 1',15,60],
['Group 1',10,120],
['Group 2',10,120],
['Group 2',20,130],
['Group 2',30,200],
['Group 2',40,250],
['Group 2',50,300]]
df = pd.DataFrame(data, columns = ['Group','price','size'])
我想取每组内价格和尺寸的平均值。所以所需的输出看起来像
Group price_avg size_avg
Group 1 13.75 90
Group 2 30 200
谢谢。
您尝试过 .agg 或 .transform 吗?
df.groupby('Group').agg(mean)
or
df.groupby('Group').transform(mean, axis=1)
df.groupby('Group').agg(
price_avg=('price', 'mean'),
size_avg=('size', 'mean')
)
Group price_avg size_avg
Group 1 13.75 90
Group 2 30.0 200
下面是我的数据框,我需要对每个组中的 cols 取平均值
data = [['Group 1',10,100],
['Group 1',20,80],
['Group 1',15,60],
['Group 1',10,120],
['Group 2',10,120],
['Group 2',20,130],
['Group 2',30,200],
['Group 2',40,250],
['Group 2',50,300]]
df = pd.DataFrame(data, columns = ['Group','price','size'])
我想取每组内价格和尺寸的平均值。所以所需的输出看起来像
Group price_avg size_avg
Group 1 13.75 90
Group 2 30 200
谢谢。
您尝试过 .agg 或 .transform 吗?
df.groupby('Group').agg(mean)
or
df.groupby('Group').transform(mean, axis=1)
df.groupby('Group').agg(
price_avg=('price', 'mean'),
size_avg=('size', 'mean')
)
Group price_avg size_avg
Group 1 13.75 90
Group 2 30.0 200