如何访问groupby中的列? - 熊猫

时间:2015-05-16 06:51:53

标签: python pandas group-by

我有以下pandas DataFrame dt:

   auftragskennung    sku       artikel_bezeichnung  summen_netto      system_created
0               14    200182        Product 1         -16.64         2015-05-12 19:55:16
1               14    730293        Product 2         -4.16          2015-05-12 19:55:16
2                3    720933        Product 3          0.00          2014-03-25 12:12:44
3                3    192042        Product 4         19.95          2014-03-25 12:12:45
4                3    423902        Product 5         23.88          2014-03-25 12:12:45

然后我执行此命令以获得sku订购的最畅销产品:

topseller = dt.groupby("sku").agg({"summen_netto": np.sum}).sort("summen_netto", ascending=False)

返回类似的内容:

           summen_netto
sku              
730293         55622.24
720933         35603.99
192042         27698.99
423902         26726.28
734630         25730.21
740353         22798.14

这就是我想要的,但我现在如何访问sku列? topseller["sku"]不起作用。它总是给我一个KeyError。

我希望能够做到这一点:

topseller["sku"]["730293"]

然后返回55622.24

1 个答案:

答案 0 :(得分:1)

sku现在是列,因此您需要使用loc来执行标签选择:

In [7]:

topseller.loc[730293]
Out[7]:
summen_netto   -4.16
Name: 730293, dtype: float64

您可以在此处确认:

In [8]:

topseller.index
Out[8]:
Int64Index([423902, 192042, 720933, 730293, 200182], dtype='int64', name='sku')