我一直在用loc获取熊猫中的多个列
order_book = pd.DataFrame(client.OrderBook.OrderBook_getL2(
symbol='XBTUSD',
depth = 0
).result()[0])
order_book.set_index(['price', 'size', 'side'], inplace= True)
# setting multiple indexes to use loc with price size and side
因此,在这之后,我的数据帧如下所示:
id symbol
price size side
9636.0 64 Sell 15599036400 XBTUSD
9635.5 3024 Sell 15599036450 XBTUSD
9635.0 1304 Sell 15599036500 XBTUSD
9634.5 731 Sell 15599036550 XBTUSD
9634.0 534 Sell 15599036600 XBTUSD
9633.5 1406 Sell 15599036650 XBTUSD
9633.0 32590 Sell 15599036700 XBTUSD
9632.5 67039 Buy 15599036750 XBTUSD
9632.0 194 Buy 15599036800 XBTUSD
9631.5 125 Buy 15599036850 XBTUSD
9631.0 95 Buy 15599036900 XBTUSD
9630.5 95 Buy 15599036950 XBTUSD
9630.0 65 Buy 15599037000 XBTUSD
9629.5 333 Buy 15599037050 XBTUSD
我试着回答{a1}和{a2}
df2 = order_book.loc[~(order_book["size"] > 50) & ~(order_book["side"] == "Buy")]
但是我用{
我的目标是从“购买”中获得“尺寸”的输出总和。
1)我想用“买”得到第一个价格(根据以上示例(9632.5)
2)在获得所有尺寸后,价格为-10。(9632.5-2=9630.5)
3)并得到该尺寸的总和(67039+194+125+95+95)
问题:
1)如何使loc工作
2)我应该使用order_book.side('side').idxmax()
为什么我要去那里
3)还有其他方法吗
我检查了隐藏的空间
order_book.columns
Index(['id', 'price', 'side', 'size', 'symbol'], dtype='object')
loc的问题就在这里。
df2 = order_book.loc[~(order_book["size"] > 50) & ~(order_book["side"] == "Buy")]
删除了
~
和inplace = False
所以
df2 = order_book.loc[(order_book["size"] > 100) & (order_book["side"] == "Buy")]
用于第二个问题
order_book.loc[order_book[order_book.side == 'Buy'].index[0],'price']
相关问题 更多 >
编程相关推荐