GroupByPython格式化输出

2024-09-21 03:07:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python新手,每天都能学到很多新东西

我在pandas中运行一组代码,如下所示,并注意到一些有趣的事情:-

df = pd.DataFrame({'Hospital' : ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C'],"Claim Type" : ['HHA', 'HSP', 'IP', 'OP', 'SNF', 'DAE', 'CAR', 'HHA', 'HSP', 'IP', 'OP', 'SNF', 'DAE', 'CAR', 'HHA', 'HSP'],"avg spend" : [52, 12, 2, 80, 1, 7, 487, 14, 12, 7973, 54, 12, 20, 1549, 972, 169]})
df = df.groupby(['Hospital','Claim Type']).mean()[{'avg spend'}].round(2)

                      avg spend
Hospital Claim Type
A        HHA                52
         HSP                12
         IP                  2
         OP                 80
B        CAR               487
         DAE                 7
         HHA                14
         HSP                12
         IP               7973
         SNF                 1
C        CAR              1549
         DAE                20
         HHA               972
         HSP               169
         OP                 54
         SNF                12

当我将用于聚合的列(这里是avg-spend)括起来时,我会得到一个格式化的输出(带带状行),而不是将它括在花括号中

只是想知道这里发生了什么(可能是在后台)来格式化输出


Tags: ippandasdftypecaravgsnfclaim
1条回答
网友
1楼 · 发布于 2024-09-21 03:07:24

当你把这个[{'avg spend'}]放进去时,你基本上是在[]里面传递一个set。正如@Che3steR指出的,您需要传递一个列表[['avg spend']]。它们都给出了相同的结果:

df = df.groupby(['Hospital','Claim Type']).mean()[{'avg spend'}].round(2)
print(df)

                     avg spend
Hospital Claim Type
A        HHA                52
         HSP                12
         IP                  2
         OP                 80
B        CAR               487
         DAE                 7
         HHA                14
         HSP                12
         IP               7973
         SNF                 1
C        CAR              1549
         DAE                20
         HHA               972
         HSP               169
         OP                 54
         SNF                12

df = df.groupby(['Hospital','Claim Type']).mean()[['avg spend']].round(2)
print(df)

                     avg spend
Hospital Claim Type
A        HHA                52
         HSP                12
         IP                  2
         OP                 80
B        CAR               487
         DAE                 7
         HHA                14
         HSP                12
         IP               7973
         SNF                 1
C        CAR              1549
         DAE                20
         HHA               972
         HSP               169
         OP                 54
         SNF                12

相关问题 更多 >

    热门问题