2017-10-10 75 views
0

我想知道什么是实现的Python的方式如下: 定列表的列表:rowbind列表的元素融入到大熊猫的数据帧进行分组

l = [[1, 2],[3, 4],[5, 6],[7, 8]] 

我想创建大熊猫名单数据帧,其中所述第一数据大熊猫帧是前两个元素的在l第二最后两个元件的行绑定行结合和:

>>> df1 = pd.DataFrame(np.asarray(l[:2])) 
>>> df1 
    0 1 
0 1 2 
1 3 4 

>>> df2 = pd.DataFrame(np.asarray(l[2:])) 
>>> df2 
    0 1 
0 5 6 
1 7 8 

在我的问题中,我有一个很长的列表,我知道分组,即列表l的前k个元素应该是行绑定形成第一个df。这怎么能以python友好的方式实现呢?

回答

2

你可以在dict它们存储像

In [586]: s = pd.Series(l) 

In [587]: k = 2 

In [588]: df = {k:pd.DataFrame(g.values.tolist()) for k, g in s.groupby(s.index//k)} 

In [589]: df[0] 
Out[589]: 
    0 1 
0 1 2 
1 3 4 

In [590]: df[1] 
Out[590]: 
    0 1 
0 5 6 
1 7 8