pandas 在给定的条件下,如何在panda Dataframe 上使用.count()?

0ejtzxu1  于 2022-12-09  发布在  其他
关注(0)|答案(1)|浏览(114)

这两种方法我都试过了:

df["Buys"] = df.groupby(['symbol','month','counterparty','side'])[df[df['side']=='Buy']].count()
    df["Sells"] = df.groupby(['symbol','month','counterparty','side'])[df['side']=='Sell'].count()

但是对于第一个,我得到了错误“DataFrame不是hashable”,对于第二个,“True不是键”。我在这里做错了什么?

sgtfey8w

sgtfey8w1#

好吧,我想我猜到一半了。我猜到了

dfBuys = df.groupby(['symbol','month'])['side'].apply(lambda x: (x=='Buy').sum()).reset_index(name='count')
df["Buys"] = dfBuys["count"]

dfBuys[“count”]正是我所要寻找的,但不管什么原因,有时df[“Buys”]并不填充,但在大多数情况下它是有效的。

相关问题