【问题标题】:Python Pivot Dataframe [duplicate]Python Pivot数据框[重复]
【发布时间】:2022-11-15 03:04:04
【问题描述】:

假设我正在处理一个数据集:# dummy dataset

import pandas as pd
data = pd.DataFrame({"A_id" : ["John","Deep","Julia","John","Sandy",'Deep'], 
                     "Month_id" : [12,3,5,4,5,7]})
data

如何将此数据框转换为如下内容:

A_id 是唯一的并且基于值和其他列的存在/不存在形成新列?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    这是一种方法

    # create a temp seq to order the duplicate rows for an id then pivot
    # rename the columns
    
    df2=df.assign(seq=df.groupby('A_id').cumcount()+1).pivot(index=['A_id'], columns= ['seq']).reset_index()
    df2.columns=[col[0]+"_"+str(col[1]) if col[1]!="" else col[0] for col in df2.columns]
    df2
    
    A_id    Month_id_1  Month_id_2
    0   Deep    3.0     7.0
    1   John    12.0    4.0
    2   Julia   5.0     NaN
    3   Sandy   5.0     NaN
    

    【讨论】:

    • 这是一个众所周知的重复(重复链接中的#10)
    猜你喜欢
    • 2021-10-15
    • 2016-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-15
    • 2021-12-22
    • 1970-01-01
    • 2019-11-04
    相关资源
    最近更新 更多