Python 3.x 如何将pandas.core.groupby.groupby.DataFrameGroupBy转换为dataframe?

Python 3.x 如何将pandas.core.groupby.groupby.DataFrameGroupBy转换为dataframe?,python-3.x,pandas,pandas-groupby,Python 3.x,Pandas,Pandas Groupby,我将groupby应用于DataFrame之后,它将DataFrame转换为pandas.core.groupby.groupby.DataFrameGroupBy格式 如何将pandas.core.groupby.groupby.DataFrameGroupBy转换为常规的DataFrame,或者如何从pandas.core.groupby.groupby.DataFrameGroupBy数据类型中访问各个列?这实际上取决于您尝试执行的操作 假设这是我的数据帧: my_df = pandas.

我将
groupby
应用于
DataFrame
之后,它将
DataFrame
转换为
pandas.core.groupby.groupby.DataFrameGroupBy
格式


如何将pandas.core.groupby.groupby.DataFrameGroupBy转换为常规的
DataFrame
,或者如何从
pandas.core.groupby.groupby.DataFrameGroupBy
数据类型中访问各个列?

这实际上取决于您尝试执行的操作

假设这是我的数据帧:

my_df = pandas.DataFrame([
    {'Firm': 'A', 'y1_bin': 'binA', 'y2_bin': 'binA', 'y3_bin': 'binB'},
    {'Firm': 'A', 'y1_bin': 'binA', 'y2_bin': 'binA', 'y3_bin': 'binB'},            
    {'Firm': 'B', 'y1_bin': 'binA', 'y2_bin': 'binA', 'y3_bin': 'binB'},
    {'Firm': 'B', 'y1_bin': 'binA', 'y2_bin': 'binA', 'y3_bin': 'binB'},
])
grouped_df = my_df.groupby('Firm')
# you can iterate through your new groupby object like this
for firm, group in grouped_df: 
    print(firm, '\n', group)

#Output 
A 
    Firm y1_bin y2_bin y3_bin
0    A   binA   binA   binB
1    A   binA   binA   binB

B 
     Firm y1_bin y2_bin y3_bin
2    B   binA   binA   binB
3    B   binA   binA   binB

# you can access individual values like this
for firm, group in grouped_df:
    for _, row in group.iterrows():
         print(row.firm, '\n', row.y1_bin)
#Output
A 
binA
A 
binA
B 
binA
B 
binA

更多信息:

@Brad Solomon我查看了这个,但有没有更好的方法。我正在尝试在groupy之后对数据帧执行一些操作,但我无法确定如何从“pandas.core.groupby.groupby.DataFrameGroupBy”类型的数据帧访问数据。