2013-12-17 34 views
0

我想要一個1.8mB的txt文件。之後有幾個標題行,所有的空間分隔數據。我可以使用熊貓來關閉數據。我想要處理的數據是:Python:大熊貓是否正確?

1)刪除非必要數據。即前1675行,大致我想刪除和最後的3-10行,每天都有所不同,我也想刪除。我可以刪除第一行,種類。這個想法現在的主要問題是確定1675指針位置在哪裏。使用類似

df = df[df.year > 1978] 

只有當我嘗試

dataf = df[df.year > 1978] 

它只是給我的東西我會於第一線純副本移動最初的「指針」,以1675。它仍然保持指向同一個1675起始點的指針。它不會讓我訪問任何第一排1675行,但他們顯然仍然存在。

df.year[0] 

它返回錯誤提示行0不存在。我必須出去尋找第一個可讀行是什麼......而不是將行刪除並將新指針移動到0,它只是將指針移動到1675,並且不允許訪問低於那。我仍然沒有找到一種方法可以通過編程來確定最後一行的編號,通過shell很容易,但我需要通過該程序來完成,因此我可以設置點2的循環。

2)我希望能夠取得數據的平均值,'x'日移動平均值,並在計算了移動平均值後用新數據創建新列。我想我可以使用Series語句創建新的列......我想......我還沒有嘗試過,因爲我還沒有得到這個目標。

3)畢竟這和一些更多的數學,我希望能夠用自制圖形圖表數據。我認爲這應該很容易,一旦我完成了一切。我已經創建了示例圖形,並且一旦有數據處理,就可以繪製圖形上的點/線。

熊貓是該項目的正確庫,還是應該嘗試使用別的東西?到目前爲止,我做的研究越多...我越感到失落,因爲我一直努力的每一件事都讓我更加深入,但同時又讓我更加深入。在類似的東西中,當我想要在數據塊上進行數學運算時,看到了使用其他東西時所提及的內容。他們沒有任何跡象表明他使用了什麼。

+0

這聽起來像大熊貓將真正幫助,但此刻我們不能幫助,因爲有太多的部分這個問題,並沒有如... –

回答

0

我想你是朝着正確的方向前進的。熊貓給你很好的,高級別的數據控制,這樣你就可以比使用傳統邏輯更容易操作它。這需要學習一些工作。通過他們的教程工作,你應該沒問題。但不要掩蓋它們,否則你會錯過一些重要的細節。

我不確定爲什麼你擔心你想忽略的行不會被刪除,只要它們沒有在你的分析中使用,它並不重要。除非你遇到內存限制,否則可能是不相關的。但是,如果你確實發現自己無法承擔這些費用,我相信有一種方法可以真正消除它們,即使它有點偏差。

現在處理幾兆字節的數據非常容易,Pandas會毫無問題地處理它。我相信你可以輕鬆地將熊貓數據傳遞給你的統計計算。儘管如此,在你聽取我的意見之前,你應該仔細檢查一下。另外,他們在熊貓網站上提到了matplotlib,所以我猜測基礎圖形也很容易做到。

+0

你怎麼去告訴開始什麼點一旦你'裁剪'線/行。我知道我已經嘗試了一個範圍(0,df)的想法,只是爲了得到它不是一個整數的錯誤。我如何訪問數據的範圍。我需要知道新的起始行和最後一行。 – confused

1

這聽起來像你主要的麻煩是索引。如果你想引用DataFrame中的「第一個」,請使用df.iloc[0]。但是無論如何,DataFrame索引都非常強大。

http://pandas.pydata.org/pandas-docs/stable/indexing.html

+0

如果我去df.iloc [0]所有我最終與'DataFrame'對象沒有屬性'iloc'。如果我去DF,它會出現關鍵行Int64Index:12766條目,1675年至14440年。顯然有那裏。我如何知道1675是第一行「有用」數據,14440是最後一行?我希望能夠通過程序而不是通過shell執行此操作。我想寫的是一個獨立的程序,而不是一個shell程序。 – confused

+0

如果'iloc'不存在,你可能會使用老版本的熊貓。 – U2EF1

+0

@confused升級熊貓0.12是穩定的,0.13rc也可用。 –