将多个列表放入数据框架

如何获取多个列表并将它们作为不同的列放在python数据框架中?我尝试了这个解决方案,但遇到了一些麻烦

尝试1:

  • 有三个列表,将它们压缩在一起并使用res=zip(lst1、lst2、lst3)
  • 只生成一列

尝试2:

percentile_list=pd.DataFrame({'lst1site':[lst1],
'lst2ite':[lst2],
'lst3ite':[lst3]},
列=['lst1Tite'、'lst1Tite'、'lst1Tite'])
  • 产生一行乘三列(如上所述)或者如果我转置它是三行和一列

如何通过3列(三个列表)数据帧获得100行(每个独立列表的长度)

我想你差不多做到了,试着去掉lst周围的额外方括号(同样,当你从这样的dict创建数据帧时,不需要指定列名):

将熊猫作为pd导入
lst1=范围(100)
lst2=范围(100)
lst3=范围(100)
百分位列表=pd.DataFrame(
{'lst1Title':lst1,
“lst2Title”:lst2,
“lst3Title”:lst3
})
百分位表
lst1Title lst2Title lst3Title
0          0         0         0
1          1         1         1
2          2         2         2
3          3         3         3
4          4         4         4
5          5         5         5
6          6         6         6
...

如果您需要更高性能的解决方案,您可以使用np.column\u stack,而不是像第一次尝试那样使用zip,在这里的示例中,这大约有2倍的加速,但在我看来,这是以可读性为代价的:

将numpy导入为np
百分位列表=局部数据帧(np.列堆栈([lst1,lst2,lst3]),
列=['lst1Title','lst2Title','lst3Title'])

发表评论