Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中将一系列列表转换为数据帧?_Python_Pandas_Dataframe_Series - Fatal编程技术网

如何在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