我想更改表格显示格式,所以我使用了pivot_table
但最终结果完全改变了我不知道为什么。
这是我的代码。
import pandas as pd
df = pd.DataFrame(
[
('2015/1/1', 73.23234, 'salgrp'),
('2015/2/1', 53.23234, 'salgrp'),
('2015/3/1', 0.00, 'salgrp'),
('2015/2/1', 30.3, 'salnic'),
('2015/3/1', 10, 'salnic'),
('2015/4/1', 31.2, 'saldsc'),
('2015/5/1', 33.23234, 'saldsc'),
],
columns=['date', 'amount', 'formula'])
df = df.round(2)
print(df)
df = df.pivot_table(columns=['date'], index=['formula'], values=['amount'])
print(df)
这是输出。
date amount formula
0 2015/1/1 73.23 salgrp
1 2015/2/1 53.23 salgrp
2 2015/3/1 0.00 salgrp
3 2015/2/1 30.30 salnic
4 2015/3/1 10.00 salnic
5 2015/4/1 31.20 saldsc
6 2015/5/1 33.23 saldsc
amount
date 2015/1/1 2015/2/1 2015/3/1 2015/4/1 2015/5/1
formula
saldsc NaN NaN NaN 31.2 33.23
salgrp 73.23 53.23 0.0 NaN NaN
salnic NaN 30.30 10.0 NaN NaN
我的问题是为什么数据透视表结果发生了变化,以及如何在所有结果中保留两位小数。? 最终结果应该是这样的0.00 and 31.20 and 10.00