如何在python中将一系列列表转换为数据帧?
我有下面的数据帧格式如何在python中将一系列列表转换为数据帧?,python,pandas,dataframe,series,Python,Pandas,Dataframe,Series,我有下面的数据帧格式 student marks a [12,12,34] b [34,35] c [23,45,23] 我想把它转换成下面这样 student marks_1 marks_2 marks_3 a 12 12 34 b 34 35 Nan c 23 45 23 如何做到这一点?如需任何帮助,请使用由提取列创建的新数据
student marks
a [12,12,34]
b [34,35]
c [23,45,23]
我想把它转换成下面这样
student marks_1 marks_2 marks_3
a 12 12 34
b 34 35 Nan
c 23 45 23
如何做到这一点?如需任何帮助,请使用由提取列创建的新数据框,将其转换为列表,并对自定义的列使用重命名功能:
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
详细信息:
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
试一试
上面的代码从marks中的每个元素创建一个索引,然后将结果与student列连接起来
输出:
dfr
student marks 1 marks 2 marks 3
0 a 12.0 12.0 34.0
1 b 34.0 35.0 NaN
2 c 23.0 45.0 23.0
嗯,我认为转换成
系列
真的很慢-检查
dfr
student marks 1 marks 2 marks 3
0 a 12.0 12.0 34.0
1 b 34.0 35.0 NaN
2 c 23.0 45.0 23.0