我有以下数据
import pandas as pd
df = pd.DataFrame({'fmc': [1, 2],
'id_r': [1, 1],
'id_b': ['a', 'b'],
'id_c': ['br', 'br'],
'fmc_': ['aa_bb', 'cc_dd']})我想把这个dcast和df与index=['id_r', 'id_b', 'id_c']和values='fmc'放在一起。
我希望输出结果像
import numpy as np
dff = pd.DataFrame({'id_r': [1, 1],
'id_b': ['a', 'b'],
'id_c': ['br', 'br'],
'fmc_aa_bb':[1, np.nan],
'fmc_cc_dd':[np.nan, 2]})我遵循了我以前的question
df = df.pivot_table(index=['id_r', 'id_b', 'id_c'], columns='fmc_', values='fmc')
df.columns = df.columns.map('_'.join)
df = df.reset_index()但并没有提供所需的输出。
有什么帮助吗?
发布于 2019-10-24 15:17:00
用add_prefix修改代码
s=df.pivot_table(index=['id_r', 'id_b', 'id_c'], columns='fmc_', values='fmc').add_prefix('fmc_').reset_index()
Out[190]:
fmc_ id_r id_b id_c fmc_aa_bb fmc_cc_dd
0 1 a br 1.0 NaN
1 1 b br NaN 2.0https://stackoverflow.com/questions/58544262
复制相似问题