2016-03-25 205 views
1

簡單的代碼拆分數據框中,並創建一個新的數據幀

我有一個數據幀DF和我我有一個數據幀和我分成3個數據幀大小相同的。然而我與創建這些數據框3通緝一個數據幀的數據幀新的.The列是調換這3個數據幀即會有3列

In [4]: np.array_split(df, 3) 
    Out[4]: 
    [ A B   C   D 
    0 foo one -0.174067 -0.608579 
    1 bar one -0.860386 -1.210518 
    2 foo two 0.614102 1.689837, 
     A  B   C   D 
    3 bar three -0.284792 -1.071160 
    4 foo two 0.843610 0.803712 
    5 bar two -1.514722 0.870861, 
    A  B   C   D 
    6 foo one 0.131529 -0.968151 
    7 foo three -1.002946 -0.257468 
    8 foo three -1.002946 -0.257468] 

回答

0

UPDATE

切片和換位

In [2]: df 
Out[2]: 
    a b c 
0 9 9 7 
1 1 7 6 
2 5 9 1 
3 7 4 0 
4 5 2 3 
5 2 4 6 
6 6 3 6 
7 0 2 7 
8 9 1 4 
9 2 9 3 

In [3]: dfs = [pd.DataFrame(a).T for a in np.array_split(df, 3)] 

In [4]: dfs[0] 
Out[4]: 
    0 1 2 3 
a 9 1 5 7 
b 9 7 9 4 
c 7 6 1 0 

舊版本

一種選擇是使用這樣的:

In [114]: dfs = [pd.DataFrame(a) for a in np.array_split(df, 3)] 

In [115]: dfs[0] 
Out[115]: 
    a b c 
0 NaN 7.0 0 
1 0.0 NaN 4 
2 2.0 NaN 4 
3 1.0 7.0 0 

In [116]: df 
Out[116]: 
    a b c 
0 NaN 7.0 0 
1 0.0 NaN 4 
2 2.0 NaN 4 
3 1.0 7.0 0 
4 1.0 3.0 9 
5 7.0 4.0 9 
6 2.0 6.0 9 
7 9.0 6.0 4 
8 3.0 0.0 9 
9 9.0 0.0 1 
+0

謝謝您的回答。但我想在我的新數據框中,新的列是0,1,2,3和行a,bc,即陣列中的每個數據幀我都轉移了他的轉置 –

+0

@Diaoibrahima,我已經更新了我的答案 - 請檢查 – MaxU

+0

謝謝,但我的df是數據框,我分成3部分,但我想恢復np.array.split中的3個數據幀,並且新的數據庫將數據幀轉置 –

相關問題