Skip to main content
 首页 » 编程设计

python之如何在 pandas 数据框中用 Series 压平列

2025年05月04日10myhome

我有一个 pandas df,我需要展平系列列

data = pd.DataFrame([['TRAN',[{'Name':'Ben','Age':'24'}],'T','Good'], 
                     ['LMI',[{'Name':'Zoe','Age':'32'}],'U','Better'], 
                     ['ARN',[{'Name':'Jack','Age':'28'}],'V','Best'] 
                     ],  
                    columns=['Type', 'Applicant', 'Decision', 'Action']) 

data 是 pandas dataframe,Applicant column 是一个 Series,

#data 
type(data) 
Out[25]: pandas.core.frame.DataFrame 
#Applicant Column 
type(data.Applicant) 
Out[26]: pandas.core.series.Series 

我需要展平系列并将列名转换为 'Type'、'Applicant.Name'、'Applicant.Age', '决定', '行动'.

请您参考如下方法:

没有 apply 的解决方案(如果性能很重要)将是:

data=(pd.DataFrame(data.pop('Applicant').str[0].values.tolist()) 
                              .add_prefix('Applicant.').join(data)) 

  Applicant.Age Applicant.Name  Type Decision  Action 
0            24            Ben  TRAN        T    Good 
1            32            Zoe   LMI        U  Better 
2            28           Jack   ARN        V    Best