我有一个 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
