2015-10-08 154 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)