带有多个键的错误和类型错误:idxmax()无法调用“Series”对象

2024-10-04 05:32:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在用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')


Tags: idsize尺寸order价格buysymbolprice
1条回答
网友
1楼 · 发布于 2024-10-04 05:32:03

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']

相关问题 更多 >