当前位置: 首页 > 知识库问答 >
问题:

将多个列表放入数据框架

卫建义
2023-03-14

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

尝试1:

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

尝试2:

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

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

共有3个答案

司马彦
2023-03-14

添加一个更可扩展的解决方案。

lists = [lst1, lst2, lst3, lst4]
df = pd.concat([pd.Series(x) for x in lists], axis=1)
燕嘉熙
2023-03-14

在这里增加阿迪蒂亚古鲁的答案。没有必要使用地图。您可以简单地通过以下方式完成:

pd.DataFrame(list(zip(lst1, lst2, lst3)))

这会将列的名称设置为0,1,2。要设置自己的列名,可以将关键字参数columns传递给上述方法。

pd.DataFrame(list(zip(lst1, lst2, lst3)),
              columns=['lst1_title','lst2_title', 'lst3_title'])
黄博艺
2023-03-14

我想你已经快到了,试着去掉lst周围的额外方括号(当你从这样的判决中创建数据帧时,你也不需要指定列名):

import pandas as pd
lst1 = range(100)
lst2 = range(100)
lst3 = range(100)
percentile_list = pd.DataFrame(
    {'lst1Title': lst1,
     'lst2Title': lst2,
     'lst3Title': lst3
    })

percentile_list
    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倍的加速,但在我看来,这是以可读性为代价的:

import numpy as np
percentile_list = pd.DataFrame(np.column_stack([lst1, lst2, lst3]), 
                               columns=['lst1Title', 'lst2Title', 'lst3Title'])
 类似资料:
  • 问题内容: 我有一个看起来像这样: 两列都是String类型(StringType()),我想将其放入spark ml randomForest中。为此,我需要将要素列转换为包含浮点数的向量。有谁知道怎么做吗? 问题答案: 如果您使用的是 Spark 2.x ,我相信这就是您所需要的: 使用 Spark 1.6 并没有太大不同: 具有可以帮助您实现所要完成的功能的功能。

  • 假设我有一个数据框 和列名称列表 如何将新列添加到以零为值的数据帧中?

  • 问题内容: 只要工作表不同,就可以很容易地将许多熊猫数据框添加到excel工作簿中。但是,如果要使用内置的df.to_excel功能的熊猫,将许多数据帧放入一个工作表中有些棘手。 上面的代码不起作用。您将得到错误 现在,我已经进行了足够的实验,以至于找到了使之工作的方法。 这会起作用。因此,我将这个问题发布在stackoverflow上的目的是双重的。首先,我希望这对某人在excel中将多个数据框

  • 很容易将列表列表转换为数据帧: 但是我如何将df转换回列表列表呢?

  • 问题内容: 我有一个非常大的数据框(大约一百万行),其中包含来自实验的数据(60位受访者)。我想将数据框分成60个数据框(每个参与者一个数据框)。 在数据帧(称为=数据)中,有一个名为“名称”的变量,它是每个参与者的唯一代码。 我已经尝试了以下方法,但是没有任何反应(或者一小时内没有停止)。我打算做的是将数据帧(数据)拆分为较小的数据帧,并将其附加到列表(数据列表)中: 我没有收到错误消息,脚本似

  • 问题内容: 我正在使用SQL Server 2005。 我正在将数据从当前数据库(单个表)迁移到新数据库(规范化-许多表)。在新数据库中,我有一个基表(我们称它为“ BaseTable”)和多个其他表(我们称它们为和)。来自旧数据库的某些数据将转到BaseTable,而另一些将转到其他两个。BaseTable与DependentA和DependentB都具有一对一关系,使用它们的ID作为外键。 所