python允许根据年龄选择值
我正试图弄清楚如何在熊猫身上做到这一点,但到目前为止,我没有运气 我的数据框如下所示:python允许根据年龄选择值,python,pandas,Python,Pandas,我正试图弄清楚如何在熊猫身上做到这一点,但到目前为止,我没有运气 我的数据框如下所示: A B C D time 2013-07-19 14:54:03 1354.85 92.20 1453.44 7746.56 2013-07-19 14:56:02 1348.30 44.60 1399.83 7800.17
A B C D
time
2013-07-19 14:54:03 1354.85 92.20 1453.44 7746.56
2013-07-19 14:56:02 1348.30 44.60 1399.83 7800.17
2013-07-19 14:58:02 1285.76 33.93 1325.31 7874.69
...
2013-12-16 14:24:02 1114.74 136.59 1254.04 7945.96
2013-12-16 14:26:03 1180.76 65.39 1248.59 7951.41
2013-12-16 14:28:03 1015.98 126.96 1147.68 8052.32
这些数据更新非常频繁,我希望能够选择过去24小时、上周或上月的所有值,等等
我当前的解决方法是使用如下查询从数据库中提取数据:
24_hour_data = ('select time, A, B, C, D from \
agg where time >= datetime(\'now\', \'-24 Hours\', \'localtime\')')
谢谢 假设您不必处理时区:
import datetime
now = datetime.datetime.now()
yesterday = now + datetime.timedelta(days=-1)
fmt = '%Y-%m-%d' # fmt = '%Y-%m-%d %T' if you want more precision.
df.ix[yesterday.strftime(fmt):now.strftime(fmt)]
以你的例子:
In [17]: now = pd.datetime(2013, 7, 20) # since thats when the data is from
In [18]: yesterday = now + datetime.timedelta(days=-1)
In [19]: df.ix[yesterday.strftime(fmt):now.strftime(fmt)]
Out[19]:
B C D
time
2013-07-19 14:54:03 92.20 1453.44 7746.56
2013-07-19 14:56:02 44.60 1399.83 7800.17
2013-07-19 14:58:02 33.93 1325.31 7874.69
[3 rows x 3 columns]
还可以查看库以替换
datetime
部分。这类东西太棒了。谢谢。我尝试了该代码,但收到一条KeyError:“2012-12-16”消息。我应该使用一个系列吗?它应该在数据帧上工作。确保您的索引是一个。当您在片段中带有:
的DatetimeIndex上使用.ix
时,不应该得到键错误。最坏情况下,它将返回一个空数据帧。