猿问

Python pandas dataframe:数据帧到另一个数据帧

我需要 Python pandas 数据框的帮助。我有以下格式的数据帧(请参阅当前数据帧),我的要求是转换为不同格式的另一个数据帧,我已将其粘贴到下面(请参阅所需的数据帧)。任何人都可以帮助我如何实现所需的输出。


当前数据框


Name1                   Name2                       Score

BELFIUS INSURANCE       BELFIUS INSURANCES          0.79

BELFIUS INSURANCE       BELFIUS                     0.50

BELFIUS INSURANCE       BELFIUS T                   0.31

AIR PRODUCTS            AIR PRODUCT                 0.78

AIR PRODUCTS            AIR PRO                     0.63

AIR PRODUCTS            PRODUCTS                    0.39

ARDAGH GLASS            ARDAGH                      0.60

所需的数据框


Name1               M1                 Score1    M2        Score2     M3                  Score3

BELFIUS INSURANCE   BELFIUS INSURANCES  0.79    BELFIUS    0.50       BELFIUS T           0.31

AIR PRODUCTS        AIR PRODUCT         0.78    AIR PRO    0.63       PRODUCTS            0.39

ARDAGH GLASS        ARDAGH              0.60    nan        nan        nan   


叮当猫咪
浏览 87回答 1
1回答

不负相思意

这本质上是按一列进行透视:out_df = (df.assign(col=df.groupby('Name1').cumcount()+1)   .pivot_table(index='Name1', columns='col', aggfunc='first')   .swaplevel(0,1,axis=1)   .sort_index(axis=1))out_df.columns = [f"{y}{x}" if y=="Score" else f"M{x}" for x,y in out_df.columns]out_df = out_df.reset_index()输出:    Name1              M1                    Score1  M2         Score2  M3           Score3--  -----------------  ------------------  --------  -------  --------  ---------  -------- 0  AIR PRODUCTS       AIR PRODUCT             0.78  AIR PRO      0.63  PRODUCTS       0.39 1  ARDAGH GLASS       ARDAGH                  0.6   nan        nan     nan          nan 2  BELFIUS INSURANCE  BELFIUS INSURANCES      0.79  BELFIUS      0.5   BELFIUS T      0.31
随时随地看视频慕课网APP

相关分类

Python
我要回答