Сортировка по дублированию с множественным подмножеством дублирования в кадре данных pandas - PullRequest
2 голосов
/ 05 августа 2020

Я новичок в python, и я хотел отсортировать некоторые данные дублирования в соответствии с некоторым столбцом данных в наборе фреймов данных, например

Import pandas as pd
df = pd.read_excel('Data.xlsx', index = ['ID']
df2 = df[df.duplicated(subset = ['A','B'], keep = False)]
print (df2)

Допустим, результат будет похож это

'ID'|'Name' |'A'|'B'|
1   | Ash   | 1 | 1 |
2   | James | 1 | 1 |
3   | Ash   | 1 | 1 |
4   | James | 1 | 1 |
5   | Ash   | 2 | 1 |
6   | James | 1 | 1 |
7   | Ash   | 2 | 1 |

Я хотел бы получить вывод данных, как показано ниже:

'Name' |'A'|'B'|'Pattern'|'Frequency of Pattern'|
Ash    | 1 | 1 |    1    |           2          |
Ash    | 2 | 1 |    2    |           2          |
James  | 1 | 1 |    3    |           3          |

Пока я не нашел ни одного аналогичного сообщения

1 Ответ

1 голос
/ 05 августа 2020

Используйте GroupBy.size для подсчета дубликатов, а затем добавьте новый столбец, чтобы указать c позицию, DataFrame.insert:

df4 = df3.groupby(['Name','A','B']).size().reset_index(name='Frequency of Pattern')
df4.insert(3, 'Pattern', df4.index + 1)
print (df4)
    Name  A  B  Pattern  Frequency of Pattern
0    Ash  1  1        1                     2
1    Ash  2  1        2                     2
2  James  1  1        3                     3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...