Pandas DataFrame中嵌套列表的列过多错误

时间:2019-05-20 11:57:45

标签: python pandas python-2.7 dataframe

我有一个嵌套列表的数据结构。大熊猫DataFrame中的每个单元格都应有一个嵌套列表。

我尝试了以下方法;

首先,我有一个标题列表:

real device

然后我有了我的数据结构:

Computers Ip address

我要实现的是创建一个pandas数据框,对于数据结构中的第6个项目,我们在pandas数据框中开始一个新行。在上面的示例中,这意味着将有两行六列。

到目前为止,我已经尝试过以下内容;

根据数据结构的长度生成行索引:

headings = ["heading1", "heading2", "heading3", "heading4", "heading5", "heading6"]

然后我尝试使用列vs索引来生成数据框:

data_list = [[foo, bar], [foo1, bar1], [foo2, bar2], [foo3, bar3], [foo4, bar4], [foo5, bar5], [bar, foo], [bar1, foo1], [bar2, foo2], [bar3, foo3], [bar4, foo4], [bar5, foo5]]

在这种情况下,出现以下错误:

idx =[i for i in range((len(data_list) / 6))]

我的问题是,如何在嵌套列表中每第6个项目开始新的一行?

1 个答案:

答案 0 :(得分:0)

您的data_list为列表格式,将其转换为numpy数组

import numpy as np
data_list = np.array(data_list)

现在使用重塑方法将数据更改为2行6列

data_list  = data_list.reshape([2,6,2])

输出:

array([[['foo', 'bar'],
        ['foo1', 'bar1'],
        ['foo2', 'bar2'],
        ['foo3', 'bar3'],
        ['foo4', 'bar4'],
        ['foo5', 'bar5']],

       [['bar', 'foo'],
        ['bar1', 'foo1'],
        ['bar2', 'foo2'],
        ['bar3', 'foo3'],
        ['bar4', 'foo4'],
        ['bar5', 'foo5']]], dtype='<U4')