如何计算列中的重复条目?

问题描述 投票:0回答:1

我有一个像这样的数据框:

价值
0
0
0
1
1
0
0

我想创建另一列,以便它计算一个值在批次中重复的次数:

价值 频率
0 3
0 3
0 3
1 2
1 2
0 1

分组依据在这里不起作用。 你会怎么做?

python pandas dataframe
1个回答
0
投票

这是一种方法:

import pandas as pd

data = {'Value': {0: 0, 1: 0, 2: 0, 3: 1, 4: 1, 5: 0}} # deleting the last `0`
df = pd.DataFrame(data)

df['Freq'] = (
    df.groupby(df['Value'].ne(df['Value'].shift()).cumsum())
    .transform('size')
)

输出

   Value  Freq
0      0     3
1      0     3
2      0     3
3      1     2
4      1     2
5      0     1
© www.soinside.com 2019 - 2024. All rights reserved.