1
以下是我的数据集填充,它是通用数据集的一个布尔子集x。在数据子集上使用df.iterrows()
fills = x.loc[(x['price'] == min_bid) & (x['bid?'] == 'T') & (x['type'] == 'trade')]
fills
time price bid? type id quantity
2509 2017-01-03 16:00:38.185 38.25 T trade 2422 400.0
2514 2017-01-03 16:00:59.849 38.25 T trade 2422 400.0
2623 2017-01-03 16:05:08.626 38.25 T trade 2422 200.0
2624 2017-01-03 16:05:09.295 38.25 T trade 2422 600.0
2749 2017-01-03 16:10:25.262 38.25 T trade 2422 100.0
2922 2017-01-03 16:18:56.218 38.25 T trade 2422 1500.0
2947 2017-01-03 16:20:08.441 38.25 T trade 2422 200.0
2953 2017-01-03 16:20:38.836 38.25 T trade 2422 400.0
2995 2017-01-03 16:25:06.441 38.25 T trade 2422 200.0
2997 2017-01-03 16:25:07.438 38.25 T trade 2422 1100.0
3053 2017-01-03 16:29:47.373 38.25 T trade 2422 600.0
3064 2017-01-03 16:29:54.444 38.25 T trade 4844 4700.0
3066 2017-01-03 16:29:54.700 38.25 T trade 2422 100.0
通过索引我想在这里实现的是循环罢了,并为每一行我想从X获得一些值添加到两个运行总计之一。
quantity_cleared = 0
quantity_remaining = 0
for index, rows in fills.iterrows():
offer_size = x['quantity'][(x['price'] == min_bid + tick_size) & (x['bid?'] == 'F') & (x['type'] == 'quote')].loc[:row].iloc[-1]
trades_done = x['quantity'][(x['price'] == min_bid + tick_size) & (x['bid?'] == 'F') & (x['type'] == 'trade')].loc[row:].sum()
if trades_done >= offer_size:
quantity_cleared += fills['quantity']['row']
else:
quantity_remaining += fills['quantity']['row']
我的代码返回错误:
SystemError: <class 'TypeError'> returned a result with an error set
任何意见,将不胜感激。谢谢!
你可以提供一个自包含的例子证明了什么问题? – BrenBarn