2015-10-08 209 views
0

我想知道如何使用python通過pandas過濾基於特定日期範圍的Excel數據。根據日期範圍選擇過濾Excel數據熊貓

有關示例:

(sheet1.xlsx)包含:

DATE  51  52  53  54  55  56 
20110706 28.52 27.52 26.52 25.52 24.52 23.52 
20110707 28.97 27.97 26.97 25.97 24.97 23.97 
20110708 28.52 27.52 26.52 25.52 24.52 23.52 
20110709 28.97 27.97 26.97 25.97 24.97 23.97 
20110710 30.5 29.5 28.5 27.5 26.5 25.5 
20110711 32.93 31.93 30.93 29.93 28.93 27.93 
20110712 35.54 34.54 33.54 32.54 31.54 30.54 
20110713 33.02 32.02 31.02 30.02 29.02 28.02 
20110730 35.99 34.99 33.99 32.99 31.99 30.99 
20110731 30.5 29.5 28.5 27.5 26.5 25.5 
20110801 32.48 31.48 30.48 29.48 28.48 27.48 
20110802 31.04 30.04 29.04 28.04 27.04 26.04 
20110803 32.03 31.03 30.03 29.03 28.03 27.03 
20110804 34.01 33.01 32.01 31.01 30.01 29.01 
20110805 27.44 26.44 25.44 24.44 23.44 22.44 
20110806 32.48 31.48 30.48 29.48 28.48 27.48 

如果我想從範圍來過濾這個數據20110708-20110803 其結果將是:

DATE  51  52  53  54  55  56 
20110708 28.52 27.52 26.52 25.52 24.52 23.52 
20110709 28.97 27.97 26.97 25.97 24.97 23.97 
20110710 30.5 29.5 28.5 27.5 26.5 25.5 
20110711 32.93 31.93 30.93 29.93 28.93 27.93 
20110712 35.54 34.54 33.54 32.54 31.54 30.54 
20110713 33.02 32.02 31.02 30.02 29.02 28.02 
20110730 35.99 34.99 33.99 32.99 31.99 30.99 
20110731 30.5 29.5 28.5 27.5 26.5 25.5 
20110801 32.48 31.48 30.48 29.48 28.48 27.48 
20110802 31.04 30.04 29.04 28.04 27.04 26.04 
20110803 32.03 31.03 30.03 29.03 28.03 27.03 

我該如何去做這件事?

+0

對不起Excel文件,你問如何做到這一點在Excel或熊貓嗎?這是否重要? – EdChum

+0

@EdChum,熊貓,我想這是用熊貓自動計算出來的,不需要觸及excel – Techno04335

回答

1

如果您將DATE設置爲來自Dataframe df(df.set_index('DATE', inplace=True))的索引。 然後,您可以用祿來切你的數據幀:

df.loc[20110708:20110803] 

你應該在這裏找到例如:http://pandas.pydata.org/pandas-docs/stable/10min.html

PS:我認爲你的索引(DATE列)的D型是Int64的。

0

如果您希望保持日期爲標準列(不是你的指數),你也可以這樣做:

df = df[(20110708 <= df.DATE) & (df.DATE <= 20110803)]

索引是不是很漂亮,這將是一個慢一點,但它適用於列。

這是假設您已經閱讀使用df = pd.read_csv(filename)