gpt4 book ai didi

python - 比较 GroupBy 中的值并计算匹配的行数

转载 作者:行者123 更新时间:2023-12-01 07:47:06 28 4
gpt4 key购买 nike

这是我的数据框中的示例行:

{
"sessionId" : "454ec8b8-7f00-40b2-901c-724c5d9f5a91",
"useCaseId" : "3652b5d7-55b8-4bee-82b6-ab32d5543352",
"timestamp" : "1559403699899",
"endFlow" : "true"
}

有 100 行这样的行具有相似/不同的“sessionId”、“useCaseId”和“endFlow”值。我按“sessionId”和“useCaseId”对其进行分组,如下所示:

groupby_session_usecase = seperate_dates_df.groupby(['sessionId','useCaseId'])  

在“groupby_session_usecase”的组中,我想查找是否有任何行的“endFlow”值为“true”。我已经尝试过以下方法:

'true' in groupby_session_usecase['endFlow']  

但是,即使“endFlow”值等于“true”,上面的行也始终返回“False”

检查“groupby_session_usecase”组中是否有任何行的“endFlow”值等于“true”的正确方法是什么?

最佳答案

OP 写道:

"I have to take a count of 'endFlow=true' based on 'sessionId' and 'useCaseId'. Any idea how to achieve this requirement?"

是的,您所要做的就是首先比较行,然后使用 SeriesGroupBy.sum() 对结果进行分组。

(df['endFlow'] == "true").groupby([df['session'], df['useCaseId']]).sum()

或者,您可以将比较分配回 df,然后您的分组会变得稍微简单一些:

(df.assign(msk=df['endFlow'].eq('true'))
.groupby(['session', 'useCaseId'])['msk']
.sum())

关于python - 比较 GroupBy 中的值并计算匹配的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56409222/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com