Как я могу преобразовать серию Group By в Dataframe? - PullRequest
1 голос
/ 06 апреля 2019

У меня есть этот DataFrame:

import pandas as pd
df = pd.DataFrame( { 
"Name" : ["Bob", "Bryan", "Bob", "Bryan" , "Bryan"] , 
"Value" : [10,20,15,50,45] } )

Тогда я получил минимальное значение на человека:

df1 = df.groupby(["Name"])["Value"].min()

Это довольно просто.Однако я хочу продолжать работать с фреймами данных, но df1 - это серия:

type(df1)

Как я могу снова преобразовать его в фрейм данных?

Ответы [ 2 ]

3 голосов
/ 06 апреля 2019

Используйте параметр as_index=False в DataFrame.groupby:

df1 = df.groupby(["Name"],as_index=False)["Value"].min()

Или добавьте Series.reset_index:

df1 = df.groupby(["Name"])["Value"].min().reset_index()

print (df1)
    Name  Value
0    Bob     10
1  Bryan     20
0 голосов
/ 06 апреля 2019

Также вы можете использовать agg () , которые возвращают фрейм данных.

df1 = df.groupby("Name").agg({'Value': 'min'}).reset_index()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...