我最近刚找到熊猫和蟒蛇。我已经看过韦斯的书了,而且我还反复地在这里搜索了熊猫贴着标签的问题,以此来收集这个问题的答案。所以我试过..。不幸的是,我那贫乏的编程智能正在闪耀;)
以下是我要做的事:
我有日内外汇数据(每小时),我试图做一些相当简单的分析。我希望测试价格多久一次测试每日开放水平,或者拒绝它或通过它。
对我来说很简单..。我只是迷失在把所有的组件结合在一起,最终得到一个完整的解决方案。
在psuedocode中,我想要实现的是:
如果有人能指出正确的方向,我会非常感激的。我到了我要放弃的时候了。我觉得答案应该很简单,但我现在迷失了方向
下面是我一直在使用的数据:
data = pd.read_csv('data/GBPUSD60.csv',
names=['Date','Time','Open','High','Low','Close','Volume'],
parse_dates={'Timestamp': ['Date', 'Time']},
index_col=['Timestamp'])
# Get rid of the volume
del data['Volume']由此产生的DF:
Open High Low Close
Timestamp
2012-11-14 04:00:00 1.58766 1.58890 1.58749 1.58877
2012-11-14 05:00:00 1.58874 1.58887 1.58819 1.58849
2012-11-14 06:00:00 1.58849 1.58921 1.58831 1.58890
2012-11-14 07:00:00 1.58890 1.58895 1.58811 1.58876
2012-11-14 08:00:00 1.58874 1.58934 1.58841 1.58849 我想我需要做两种方法之一:
这两种方法的问题是,我在访问我需要的字段时遇到了各种各样的麻烦。
发布于 2013-04-07 12:54:00
你的伪代码被发现了。这是语义
步骤1:创建日期列
df['date'] = [i.date() for i in df.index]第二步:每天开放(假设开盘价是当天第一支蜡烛上的开放栏)
df['dailyOpen'] = df.groupby('date').open.transform(lambda s: s[0])第三步:比较
df['flag'] = (df.low < df.dailyOpen) & (df.close > df.dailyOpen)如果您想要一天中发生上述情况的次数,这应该是可行的。
res = df.groupby('date').flag.sum()https://stackoverflow.com/questions/15859961
复制相似问题