d = pd.read_csv(input_file,na_values=[''])df = pd.DataFrame(d)df.index_col = ['name','address']df_out = df.groupby(df.index_col).agg({'age':np.mean,'height':np.sum,'weight':np.sum})df_out.to_csv(output_file,sep=',')解决方法 我想你可以使用子集:
df_out = df.groupby(df.index_col) .agg({'age':np.mean,'weight':np.sum})[['age','height','weight']]
你也可以使用pandas功能:
df_out = df.groupby(df.index_col) .agg({'age':'mean','height':sum,'weight':sum})[['age','weight']]
样品:
df = pd.DataFrame({'name':['q','q','a','a'],'address':['a','s','s'],'age':[7,8,9,10],'height':[1,3,5,7],'weight':[5,6,8]})print (df) address age height name weight0 a 7 1 q 51 a 8 3 q 32 s 9 5 a 63 s 10 7 a 8df.index_col = ['name','address']df_out = df.groupby(df.index_col) .agg({'age':'mean','weight']]print (df_out) age height weightname address a s 9.5 12 14q a 7.5 4 8
按建议编辑 – 添加reset_index
,如果需要索引值,则as_index = False不起作用:
df_out = df.groupby(df.index_col) .agg({'age':'mean','weight']] .reset_index()print (df_out) name address age height weight0 a s 9.5 12 141 q a 7.5 4 8总结
以上是内存溢出为你收集整理的python – 指定groupby聚合后的列顺序全部内容,希望文章能够帮你解决python – 指定groupby聚合后的列顺序所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)