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@quantdf.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