当前位置 主页 > 服务器问题 > Linux/apache问题 >
import pandas as pd import numpy as np # todo 分组聚合之后数据的处理 dict_new = { 'data1':np.random.randint(5,15,8), 'data2':np.random.randint(5,15,8), 'data3':4, 'key1':list('aabbccdd'), 'key2':['one','two','three','one','two','three','one','two'] } df1 = pd.DataFrame(dict_new,index=list('ADCBFEGH')) print(df1) # # todo 按照key1进行分组, # groupy_obj = df1.groupby(by='key1') # print(groupy_obj) # for name,data in groupy_obj: # print(name) # print(data) # # todo 分组之后进行求和操作 # sum_data_group = groupy_obj.sum() # print(sum_data_group) # # todo 分组之后增加前缀 # sum_data_group = sum_data_group.add_prefix('group_key1') # print(sum_data_group) # # todo 先用merge进行关联 # merge_df = pd.merge(df1,sum_data_group,left_on='key1',right_index=True)#左表的列名,右表的行索引名 # print(merge_df) # todo 取数据的两列分组 groupby_obj = df1.loc[:,['data1','data2']].groupby(df1['key1'])#选区数据其中的数据,按照数据中的列进行分组 # todo 求和 data = groupby_obj.sum() data1 = groupby_obj.transform('sum').add_prefix('trans_group')#transform 来计算会维持原来的数据结构 # todo 按行合并 print(pd.concat([df1,data1],axis=1))
关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。