我有以下代码:
import pandas as pd
data = {
'name': ['Comp1', 'Comp1', 'Comp2', 'Comp2', 'Comp3'],
'entity_type': ['type1', 'type1', 'type2', 'type2', 'type3'],
'code': ['code1', 'code2', 'code3', 'code1', 'code2'],
'date': ['2024-01-31', '2024-01-31', '2024-01-29', '2024-01-31', '2024-01-29'],
'value': [10, 10, 100, 10, 200],
'source': [None, None, 'Estimated', None, 'Reported']
}
df = pd.DataFrame(data)
pivot_df = df.pivot(index='date', columns=['name', 'entity_type', 'source', 'code'], values='value').rename_axis([('name', 'entity_type', 'source', 'date')])
df = pivot_df.reset_index()
df
我遇到以下问题:
如有任何帮助,我们将不胜感激。
reset_index
与 drop=True
,(2) 将 display.multi_sparse
设置为 False
(使用 pandas.option_context
),以及 (3) fillna
与 ''
:
df = pd.DataFrame(data)
out = (df.pivot(index='date', columns=['name', 'entity_type', 'source', 'code'], values='value')
.rename_axis([('name', 'entity_type', 'source', 'date')])
.reset_index(drop=True)
.fillna('')
)
with pd.option_context('display.multi_sparse', False):
print(out)
输出:
name Comp1 Comp1 Comp2 Comp2 Comp3
entity_type type1 type1 type2 type2 type3
source NaN NaN Estimated NaN Reported
code code1 code2 code3 code1 code2
0 100.0 200.0
1 10.0 10.0 10.0