2016-09-16 21 views
0

此問題的最終目標是使用數據框爲圖形繪製X和Y.在數據框中打印列名稱和值

我有一個數據幀像這樣:

   Open High  Low Close  Volume  stock symbol 
Date                
2000-10-19 1.37 1.42 1.24 1.35 373590000   AAPL 
2000-10-20 1.36 1.46 1.35 1.39 195836200   AAPL 
2000-10-23 1.39 1.49 1.39 1.46 129851400   AAPL 
2000-10-24 1.48 1.49 1.34 1.35 192711400   AAPL 
2000-10-25 1.36 1.37 1.30 1.32 163448600   AAPL 
2000-10-26 1.34 1.42 1.25 1.32 178110800   AAPL 
2000-10-27 1.35 1.37 1.28 1.33 181242600   AAPL 
2000-10-30 1.37 1.42 1.34 1.38 152558000   AAPL 

,我試圖繪製DateOpen。我知道有一種簡單的繪圖方式,但是我會將這個概念應用到更大的數據框中,並想知道如何「長時間」執行此操作。

我已經試過什麼:

print(some_DF['Open'])

結果:

Date 
    2000-10-19  1.37 
    2000-10-20  1.36 
    2000-10-23  1.39 
    2000-10-24  1.48 
    2000-10-25  1.36 
    2000-10-26  1.34 

問題:

日期似乎是我的索引,但列標題「打開「不出現。

問:

如何打印上面的數據幀,同時具有'Open'我的頭。然後使一些值x = Date的列和一些值y = 'Open的值?

「預期的代碼工作」:

林想這樣

print([some_DF['Open'] headers = 'date','open') 
x = some_DF['Date'] #So that this becomes first column of dataframe 
y = some_DF['Open'] #So that this becomes second column of dataframe 
+0

什麼是數據文件?前10行將做。我很好奇你是如何讀取數據文件的,以及原始文件是什麼樣的 – TuanDT

+2

您是否嘗試過'print(some_DF [['Open']])? –

+0

@ M.Klugerford這非常接近我想要的。但是,'日期'和'打開'標題看起來在不同的行上。你能解釋一下雙[''']]'在做什麼嗎? – MattR

回答

3

您可以reset_index的數據幀,然後打印數據框的子集由兩個列

>>> df 
      a b 
Date    
2000-10-19 1 3 
2000-10-20 2 4 
2000-10-21 3 5 
2000-10-22 4 6 
2000-10-23 5 7 
>>> print(df.reset_index()[['Date', 'a']]) 
     Date a 
0 2000-10-19 1 
1 2000-10-20 2 
2 2000-10-21 3 
3 2000-10-22 4 
4 2000-10-23 5 

就像IanS提到的,你不應該擔心熊貓的輸出。日期是一個索引並打開一列。印刷品聲明中的差異說明了這種區別。

編輯:

df[[list_of_column_names]]相同df.loc[:, [list_of_column_names]]。它給出了列的原始數據框子集列表。

+0

restet_index ...爲什麼我沒有想到這一點。大!現在我該如何讓'x'第一列和'y'第二列?有小費嗎? – MattR

+0

@MattR與你原來的數據框你可以做'print(some_DF.reset_index()[['Date','Open']])'輸出的順序取決於你提供列名列表的順序。 –

+0

我仍然對'[[]]'在做什麼感到困惑。有可能解釋嗎?我真的很感謝幫助 – MattR