我有一个数据框,其中的“材料”列表示产品代码,“值”列对应产品值,“月”列对应月份。
Ano Meses Materiais Values
112 2018 M1 52793 1700.0
113 2018 M2 52793 900.0
114 2018 M3 52793 1400.0
115 2018 M4 52793 500.0
116 2018 M5 52793 300.0
117 2018 M6 52793 600.0
118 2018 M7 52793 1800.0
119 2018 M8 52793 500.0
256 2018 M1 53201 5300.0
257 2018 M2 53201 1300.0
258 2018 M3 53201 1900.0
259 2018 M4 53201 5400.0
260 2018 M5 53201 2300.0
261 2018 M6 53201 2100.0
262 2018 M7 53201 3000.0
263 2018 M8 53201 1200.0
使用这些功能:
b = df.groupby('Materiais')['Values'].mean()
a = df.groupby('Materiais')['Values'].std()
Materiais std
0 10408 1086.278049
1 10422 1359.030642
2 1192 738.241153
3 1193 402.492236
Materiais Mean
0 10408 2300.000000
1 10422 5187.500000
2 1192 1125.000000
3 1193 280.000000
我得到乘积的平均值和标准偏差。但是,我必须使用合并功能将(均值和标准偏差)都保留在同一数据帧上。
是否有直接方法来计算(均值和标准差),在同一数据帧上创建2列?像这样:
df.groupby('Materiais')['Values'].mean().std()
无需使用合并功能吗?