【问题标题】:List of lists of lists to pandas dataframe熊猫数据框的列表列表
【发布时间】:2017-08-09 15:44:27
【问题描述】:

我有一个列表列表。最外面的列表长度为 20(单独的类别)。中间列表是可变长度的(时间戳列表)。内部列表的长度为 5(拆分每个时间戳)。例如:

sTimestamps[0][:5][:] = 

[['Tue', 'Feb', '7', '10:06:30', '2017'],
 ['Tue', 'Feb', '7', '10:07:06', '2017'],
 ['Tue', 'Feb', '7', '10:07:40', '2017'],
 ['Tue', 'Feb', '7', '10:12:36', '2017'],
 ['Tue', 'Feb', '7', '10:13:24', '2017']]

我还有一个名为 categories 大小为 2 的列表字符串,其中包含类别名称,其中每个索引对应于最外层列表的 20 个索引的相同索引号。

如何将其转换为 pandas 数据框,其中的列是时间戳的 5 个组成部分,以及用于指定类别名称的第 6 个附加列?

我可以为两个嵌套的列表执行此操作,但是这个三个嵌套的列表给我带来了困难。

【问题讨论】:

  • 什么三个嵌套列表?给我们看代码,词是模棱两可的。

标签: python-3.x pandas dataframe nested-lists


【解决方案1】:
sTimeStamps = [
    [['Tue', 'Feb', '7', '10:06:30', '2017'],
     ['Tue', 'Feb', '7', '10:07:06', '2017'],
     ['Tue', 'Feb', '7', '10:07:40', '2017'],
     ['Tue', 'Feb', '7', '10:12:36', '2017'],
     ['Tue', 'Feb', '7', '10:13:24', '2017']],
    [['Tue', 'Feb', '7', '10:06:30', '2017'],
     ['Tue', 'Feb', '7', '10:07:06', '2017'],
     ['Tue', 'Feb', '7', '10:07:40', '2017']],
    ]

categories = ['cat%s' %i for i in range(20)]

pd.concat([pd.DataFrame(d) for d in sTimeStamps], keys=categories)

          0    1  2         3     4
cat0 0  Tue  Feb  7  10:06:30  2017
     1  Tue  Feb  7  10:07:06  2017
     2  Tue  Feb  7  10:07:40  2017
     3  Tue  Feb  7  10:12:36  2017
     4  Tue  Feb  7  10:13:24  2017
cat1 0  Tue  Feb  7  10:06:30  2017
     1  Tue  Feb  7  10:07:06  2017
     2  Tue  Feb  7  10:07:40  2017

【讨论】:

    猜你喜欢
    • 2015-07-31
    • 2022-12-10
    • 1970-01-01
    • 2019-10-12
    • 2018-11-01
    • 2022-11-15
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多