繁体   English   中英

如何在删除索引时对 pandas dataframe 然后 map 列名进行 dcast

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM