Pandas Pivot_Table分组值

时间:2018-08-14 03:33:48

标签: python pandas pivot-table

我在CSV(Dataset)上有大量数据集。我想创建一个pd.pivot_table来按邮政编码对数据进行汇总,但是,我的数据包含共享相同邮政编码的行。

df = pd.read_csv('15zpallagi.csv')
df['A00100'] = df['A00100'].map('{:,.2f}'.format)
df.pivot_table(values='A00100', index='zipcode', aggfunc='sum')

当我运行上面的代码以创建数据透视表时,value列包含多个值,就像它堆叠在具有多个值的总和上一样。 output of pivot table

但是,如果运行以下代码,则得到相同的值,但格式可以理解。 results of pivot with columns

df.pivot_table(values='A00100', index='zipcode',columns='agi_stub', aggfunc='sum')

如何创建仅添加A00100列并通过邮政编码提供总计的数据透视表?

1 个答案:

答案 0 :(得分:2)

您可能会看到这些不一致之处,因为此行df['A00100'] = df['A00100'].map('{:,.2f}'.format)将您的A00100列转换为字符串类型,而不是浮点数。

注释第二行,然后重试以查看是否可以解决问题。

如果您需要将数字格式化为仅显示2个小数,请在所有转换后执行。

如果由于其他原因(有效数字等)四舍五入,请使用Dataframe.round函数而不是字符串格式。