我在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列包含多个值,就像它堆叠在具有多个值的总和上一样。
df.pivot_table(values='A00100', index='zipcode',columns='agi_stub', aggfunc='sum')
如何创建仅添加A00100列并通过邮政编码提供总计的数据透视表?
答案 0 :(得分:2)
您可能会看到这些不一致之处,因为此行df['A00100'] = df['A00100'].map('{:,.2f}'.format)
将您的A00100列转换为字符串类型,而不是浮点数。
注释第二行,然后重试以查看是否可以解决问题。
如果您需要将数字格式化为仅显示2个小数,请在所有转换后执行。
如果由于其他原因(有效数字等)四舍五入,请使用Dataframe.round函数而不是字符串格式。