Pandas 按列值的唯一行分组的计算

Pandas Calculation Grouped By Unique Rows of Column Value

我正在尝试计算“Plant”下方数据中“Pos Strikes”下方列的标准差,以便我得到“Plant”的结果和标准差3年期间。我的数据如下所示:

         Plant       year           Pos Strikes
0        A           2018           38
1        A           2019            6
2        A           2020           33
3        B           2018           12
4        B           2019           30
5        B           2020           10

最终结果应该是这样的:

         Plant       Pos Strikes Std Dev
0        A           17
1        B           11

我试过了

ypos.groupby(['Plant','year'])[["Pos Strikes"]].std().reset_index().rename_axis(None, axis=1)

但我每年都得到 NaN,如下所示:

              Plant  year  Pos Strikes
0                 A  2018          NaN
1                 A  2019          NaN
2                 A  2020          NaN

感谢您对此的任何帮助!

我相信你只想在 Plant 上分组:

df.groupby('Plant')['Pos Strikes'].std()

输出:

Plant
A    17.214335
B    11.015141
Name: Pos Strikes, dtype: float64