python - 聚合组产生 Pandas 数据框

标签 python python-3.x pandas aggregate

我只是想知道如何汇总按 pandas 数据框分组的所有结果。

data1 = {'id':['1', '1', '2', '2', '2', '3', '3', '3'],  
        'Age':[27, 24, 22, 32, 33, 36, 27, 32],    
        'Qualification':['Msc', 'MA', 'MCA', 'Phd','B.Tech', 'B.com', 'Msc', 'MA']
        }
df = pd.DataFrame(data1) 


grp = df.groupby('id') 
for name, group in grp:
    x = group.Age * 2 
    print (x)

0    54
1    48
Name: Age, dtype: int64
2    44
3    64
4    66
Name: Age, dtype: int64
5    72
6    54
7    64
Name: Age, dtype: int64

我已经厌倦了这样它只保存最后一组。

result = pd.DataFrame(x) 
result

Age
5   72
6   54
7   64

如何将所有这些结果保存在 pandas dataframe 中?

预期结果

Age 
0   54
1   48
2   44
3   64
4   66
5   72
6   54
7   64

最佳答案

data1 = {'id':['1', '1', '2', '2', '2', '3', '3', '3'],  
         'Age':[27, 24, 22, 32, 33, 36, 27, 32],    
         'Qualification':['Msc', 'MA', 'MCA', 'Phd','B.Tech', 'B.com', 'Msc', 'MA']
        }
df = pd.DataFrame(data1) 

grp = df.groupby('id') 
x = []    # Create an empty list

for name, group in grp:
   b = group.Age * 2  # Do your group vise operations 
   x.extend(b)               # Extend your list with with your restuls

result = pd.DataFrame(x, columns=['Age'])
print(result)


    Age
0   54
1   48
2   44
3   64
4   66
5   72
6   54
7   64

关于python - 聚合组产生 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57830819/

相关文章:

python - 在数据框列中将负值裁剪为 0 (Pandas)

python - pandas 'corr()' 是否应用于数据自动归一化?

python - 基于 cumsum 和 timediff 创建标志

python - 以漂亮的格式打印字典键的简洁方法

Python multiprocessing.Pool 不会立即启动

python - 在Python中控制线程

sql - 无法使用 .my.cnf 文件连接到数据库 pymysql

python-3.x - PyQt5 和 QtQuick

python - 如何在管道内使用 SMOTENC(错误 : Some of the categorical indices are out of range)?

python - np.where() 如果条件失败则什么都不做