2016-07-28 93 views
0

我正在尋找繪製各組數據,每組數據中有10個點在重疊的箱子中。在熊貓中繪製直方圖

values1 = [29, 31, 24, 30, 30, 14, 25, 35, 27, 31] 
values2 = [36, 29, 29, 29, 34, 33, 27, 34, 36, 39] 

當我將它們添加到數據框中時,它們出現爲2列。 我正在尋找繪製2行與10個重疊列。

df1 = pd.DataFrame(values1, values2) 

,隨後當我使用直方圖繪製出來,他們不出來正確

df1.plot.hist(stacked = True) 
    plt.show() 

所以我的目標是做每個陣列中的號碼之間的兩兩比較。 29 - 36,31 - 29,24 - 29等

我想畫出他們,讓他們爲這個例子 http://pandas.pydata.org/pandas-docs/stable/_images/hist_new_stacked.png 但是我只有值,而不是三成例如重疊。

+0

那麼你要求'df1 = pd.DataFrame.from_dict({'values1':values1,'values2':values2},orient ='index')'? – EdChum

+0

不完全相同,這會產生10種不同的顏色和相同的圖形。我想要2種顏色來比較每個相鄰繪製的值? – Steve

+0

真的不清楚你想要什麼,請用圖形顯示你想要的東西編輯你的問題 – EdChum

回答

1

您可以將它們作爲值的字典:

values1 = [29, 31, 24, 30, 30, 14, 25, 35, 27, 31] 
values2 = [36, 29, 29, 29, 34, 33, 27, 34, 36, 39] 
df1 = pd.DataFrame({'values1':values1, 'values2':values2}) 
df1.plot.hist(stacked = True) 

enter image description here

你是什麼原因引起的構造函數來解釋傳遞的值作爲數據的一列,然後索引值:

pandas.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False) 

比較差:

In [166]: 
pd.DataFrame(values1, values2) 

Out[166]: 
    0 
36 29 
29 31 
29 24 
29 30 
34 30 
33 14 
27 25 
34 35 
36 27 
39 31 

In [167]: 
pd.DataFrame({'values1':values1, 'values2':values2}) 

Out[167]: 
    values1 values2 
0  29  36 
1  31  29 
2  24  29 
3  30  29 
4  30  34 
5  14  33 
6  25  27 
7  35  34 
8  27  36 
9  31  39 
+0

是的,我能夠生成該圖,但我正在尋找並排繪製變量,以便有10個酒吧毗鄰一個另一個,顯示重疊? – Steve

+0

你的意思是你想要2行而不是10行?請編輯您的問題與所需的輸出 – EdChum

+0

是的,你的權利,2行和10列。我會在上面編輯。 – Steve