我有这个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)
如何再次将其转换为数据框?
答案 0 :(得分:3)
在DataFrame.groupby
中使用参数as_index=False
:
df1 = df.groupby(["Name"],as_index=False)["Value"].min()
df1 = df.groupby(["Name"])["Value"].min().reset_index()
print (df1)
Name Value
0 Bob 10
1 Bryan 20
答案 1 :(得分:0)
您也可以使用agg()返回数据帧。
df1 = df.groupby("Name").agg({'Value': 'min'}).reset_index()