Bra*_*avo 5 python series dataframe pandas
我有以下格式的数据框
student marks
a [12,12,34]
b [34,35]
c [23,45,23]
Run Code Online (Sandbox Code Playgroud)
我希望它转换为如下所示
student marks_1 marks_2 marks_3
a 12 12 34
b 34 35 Nan
c 23 45 23
Run Code Online (Sandbox Code Playgroud)
如何实现这一目标?请提供任何帮助
使用由提取的列创建的join新值,转换为列表并通过自定义函数用于列:DataFramemarkspoprenamelambda
f = lambda x: 'marks_{}'.format(x + 1)
df = df.join(pd.DataFrame(df.pop('marks').values.tolist()).rename(columns=f))
print (df)
student marks_1 marks_2 marks_3
0 a 12 12 34.0
1 b 34 35 NaN
2 c 23 45 23.0
Run Code Online (Sandbox Code Playgroud)
细节:
print (pd.DataFrame(df.pop('marks').values.tolist()))
0 1 2
0 12 12 34.0
1 34 35 NaN
2 23 45 23.0
Run Code Online (Sandbox Code Playgroud)