gpt4 book ai didi

python - 计算数据框列中字符串的最大连续出现次数

转载 作者:太空宇宙 更新时间:2023-11-03 13:55:57 29 4
gpt4 key购买 nike

我有一个 Pandas 数据框,我想在其中计算一列中特定字符串的连续出现次数。

假设我有以下数据框。

   col1
0 string1
1 string1
2 string1
3 string2
4 string3
5 string3
6 string1

我想定义 a作为例如 string1 的最大连续出现次数或 col1 中的任何其他字符串.

在这种情况下,a应该返回 3如果我想搜索 string1并返回 2对于 string3 .

如何实现?

最佳答案

可以对连续值进行分组:

df1 = df.groupby((df.col1 != df.col1.shift()).cumsum().rename(None)).col1.agg(['size', 'first'])
# size first
#1 3 string1
#2 1 string2
#3 2 string3
#4 1 string1

然后 sort_values + drop_duplicates 找到最大的:

df1 = df1.sort_values('size').drop_duplicates('first', keep='last').set_index('first').rename_axis(None)
# size
#string2 1
#string3 2
#string1 3

现在您可以轻松地查找它们:

df1.loc['string1']
#size 3
#Name: string1, dtype: int64

关于python - 计算数据框列中字符串的最大连续出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55595188/

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