Python 在删除索引时,dcast如何广播数据帧,然后映射列名

Python 在删除索引时,dcast如何广播数据帧,然后映射列名,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有以下数据帧 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']}) 我

我有以下数据帧

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
带有
索引=['id\u r','id\u b','id\u 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]})
我遵循了我以前的一个原则

但没有给出所需的输出


有什么帮助吗?

添加前缀

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.0

非常感谢。开头的
fmc\u
列是什么?@quantq这是列名,您可以重命名\u轴(无)并将其添加到末尾?类似于
df.pivot\u表(索引=['id\r','id\u b','id\u c'],列='fmc\u',值='fmc')。添加前缀('fmc\u')。重置索引()。重命名轴(无)
?因为这给了同样的结果result@quant
df.pivot_表(索引=['id_r','id_b','id_c'],列='fmc_',值='fmc')。添加前缀('fmc_')。重置_索引()。重命名_轴(无,轴=1)
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.0