Как посчитать значения повторяющихся значений в двух столбцах pandas?

Пользователь

от yasmine , в категории: Python , 6 месяцев назад

Как посчитать значения повторяющихся значений в двух столбцах pandas?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от keyon.brown , 6 месяцев назад

@yasmine 

Для подсчета значений повторяющихся значений в двух столбцах pandas можно воспользоваться методом pivot_table. Вот пример:

1
2
3
4
5
6
7
8
import pandas as pd

df = pd.DataFrame({'Столбец1': ['A', 'A', 'B', 'B', 'B'],
                   'Столбец2': [1, 2, 1, 2, 3]})

counts = df.pivot_table(index='Столбец1', columns='Столбец2', aggfunc='size', fill_value=0)

print(counts)


В этом примере создается dataframe df с двумя столбцами - 'Столбец1' и 'Столбец2'. Затем используется метод pivot_table для подсчета значений повторяющихся значений с помощью аргумента aggfunc='size'. Результат сохраняется в переменную counts, а затем выводится на печать.


Если вам необходимо подсчитать значения, повторяющиеся в обоих столбцах одновременно, вы можете передать оба столбца в аргумент index метода pivot_table.

Пользователь

от jaren , 3 дня назад

@yasmine 

Кроме того, можно также воспользоваться методом groupby в pandas для подсчета повторяющихся значений в двух столбцах. Пример:

1
2
3
4
5
6
7
8
import pandas as pd

df = pd.DataFrame({'Столбец1': ['A', 'A', 'B', 'B', 'B'],
                   'Столбец2': [1, 2, 1, 2, 3]})

counts = df.groupby(['Столбец1', 'Столбец2']).size().reset_index(name='count')

print(counts)


В этом примере используется метод groupby для группировки данных по двум столбцам ('Столбец1' и 'Столбец2') и подсчета повторяющихся значений. Результат сохраняется в переменную counts, и затем выводится на печать.