2015-10-13 60 views
2

我有一個numpy的陣列(A):從numpy的陣列創建熊貓數據幀,並使用所述陣列的第一列作爲索引

array([[ 1. , 5.1, 3.5, 1.4, 0.2], 
[ 1. , 4.9, 3. , 1.4, 0.2], 
[ 2. , 4.7, 3.2, 1.3, 0.2], 
[ 2. , 4.6, 3.1, 1.5, 0.2]]) 

我想使一個大熊貓數據幀(PD)與值= A,列= A,B,C,d和指數=我numpy的陣列的第一列,最後應該是這樣的:

 A B C D 
    1 5.1 3.5 1.4 0.2 
    1 4.9 3.0 1.4 0.2 
    2 4.7 3.2 1.3 0.2 
    2 4.6 3.1 1.5 0.2 

我想這一點:

df = pd.DataFrame(a, index=a[:,0], columns=['A', 'B','C','D']) 

,我得到以下錯誤:

ValueError: Shape of passed values is (5, 4), indices imply (4, 4) 

任何幫助? 感謝

回答

7

你通過了一系列完整的data PARAM,你也需要切開你的數組,如果你想從陣列中的數據只有4列:

In [158]: 
df = pd.DataFrame(a[:,1:], index=a[:,0], columns=['A', 'B','C','D']) 
df 

Out[158]: 
    A B C D 
1 5.1 3.5 1.4 0.2 
1 4.9 3.0 1.4 0.2 
2 4.7 3.2 1.3 0.2 
2 4.6 3.1 1.5 0.2 

而且具有索引重複值將過濾/索引問題

所以在這裏我a[:,1:]採取一切行,但是從起擔任所需的列1指數,看docs

+0

Thak你,那工作對我來說。 – diegus