Как получить доступ к пандам сгруппированных данных по групповому индексу? - PullRequest
0 голосов
/ 01 июля 2018

После этого примера Я могу создать простой фрейм данных и сгруппировать

import pandas as pd

# Create a sample data frame
df = pd.DataFrame({'A': ['foo', 'foo', 'foo', 'bar', 'bar'],
                   'B': range(5), 'C': range(5)})

# group by 'A' and sum 'B'
gf = df.groupby('A').agg({'B': 'sum'})

Результатом является сгруппированный фрейм данных gf

    B
A   
bar 7
foo 3

Я бы хотел получить доступ к gf по сгруппированным индексам. Что-то вроде ...

gf['foo'] returns 3 
gf['bar'] returns 7

Я также хотел бы построить график по сгруппированным индексам. Что-то вроде ...

gf.plot('A', 'B') such that  x=['foo','bar'], y=[3,7]

Ответы [ 2 ]

0 голосов
/ 01 июля 2018

А как же:

import matplotlib.pyplot as plt

for k in gf['B'].index:
    print "{}: {}".format(k, gf['B'].loc[k])

plt.bar(gf['B'].index, map(lambda i: gf['B'].loc[i], gf['B'].index))
plt.show()
0 голосов
/ 01 июля 2018
gf.reset_index(level=0, inplace=True)

gf[gf.A == 'bar']

возвращает:

     A  B
0  bar  7

Участок:

import matplotlib.pyplot as plt

plt.bar(gf.A, gf.B)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...