Grouby函数创建2个新列

时间:2018-08-25 12:07:52

标签: python pandas

我有一个数据框,其中的“材料”列表示产品代码,“值”列对应产品值,“月”列对应月份。

        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()

无需使用合并功能吗?

0 个答案:

没有答案