[英]How do dcast a pandas dataframe and then map the column names when dropping the index
我有以下 dataframe
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']})
我想用index=['id_r', 'id_b', 'id_c']
和values='fmc'
dcast
这个df
。
我希望 output 像
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]})
我关注了我以前的问题
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()
但是没有给出想要的output。
有什么帮助吗?
使用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.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.