我有一個包含 4000 行的資料集,其中有重復的行(例如 2、3、4 次)。我想隨著時間的推移找到重復項的總和。
我已經使用此代碼來分配重復的數量。但是它重新排列了ID的位置
df = duplicate_df.value_counts(sort=False, dropna=False).reset_index(name="Duplicity")
輸出
ID Time Duplicity
12345 2020 2
12345 2020 2
34567 2021 1
34696 2020 3
34696 2020 3
34696 2020 3
而我想添加重復性并且ID保持相同的位置。
ID Time Duplicity
34696 2020 3
12345 2020 2
12345 2020 2
34696 2020 3
34696 2020 3
34567 2021 1
如何隨著時間的推移找到重復的累積?謝謝你。
輸入資料:
d = {'ID': [34696, 12345, 12345, 34696, 34696, 34567],
'Time': [2020, 2020, 2020, 2020, 2020, 2021]}
uj5u.com熱心網友回復:
使用groupby和transform:
df['Duplicity'] = df.groupby(['ID', 'Time'])['ID'].transform('size')
print(df)
# Output
ID Time Duplicity
0 34696 2020 3
1 12345 2020 2
2 12345 2020 2
3 34696 2020 3
4 34696 2020 3
5 34567 2021 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/438681.html
標籤:Python python-3.x 熊猫 cumsum 表里不一
