分组DataFrame上的列名输出到CSV

时间:2012-08-23 21:40:57

标签: python csv pandas

我从一份大问卷中得到dataFrame,我通过以下方式汇总不同轴上的数据来生成摘要:

df.groupby(group_name).agg([np.mean, np.std, np.count_nonzero])

这会在我的问卷中生成一个包含每个问题的均值,标准和计数的列。分组dataFrame中每列的名称是元组(original_column_name, function_applied)

问题在于,当我输出到CSV(使用to_csv())时,列名称将作为元组输出,即('gender', 'mean'), ('gender', 'std'),理想情况下我想要gender_mean& gender_std

如何在输出到CSV之前处理这些列名?

1 个答案:

答案 0 :(得分:1)

在pandas 0.8.1中,试试这个:

group_df = df.groupby(group_name).agg([np.mean, np.std, np.count_nonzero])
group_df.rename(None, lambda coltuple: '_'.join(coltuple), False, True)

有关详细信息,请参阅the DataFrame documentation