2017-10-10 4 views
0

をグループ化することによって、私は次のことを達成するためのニシキヘビの方法は何です思ったんだけど: は、リストのリストを考える:rowbind要素パンダデータフレームに

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

私はパンダのリストを作成したいです最初パンダデータフレームはlにおける最初の2つの要素の行バインド最後の2つの要素の第2行バインドされたデータフレーム:

>>> 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 

私の問題は非常に長いリストを持っており、リストの最初のk個の要素、つまり最初のdfを形成するためには、lをrowbindedする必要があるということです。どのようにこれはPythonにやさしい方法で達成することができますか?

答えて

2

あなたは

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 
よう dictでそれらを格納することができ