GroupBy pandas DataFrame и выберите наиболее распространенное значение.Python

Программы на Python
Anonymous
GroupBy pandas DataFrame и выберите наиболее распространенное значение.

Сообщение Anonymous »

У меня есть фрейм данных с тремя строковыми столбцами. Я знаю, что только одно значение в третьем столбце действительно для каждой комбинации первых двух. Чтобы очистить данные, мне нужно сгруппировать их по фрейму данных по первым двум столбцам и выбрать наиболее распространенное значение третьего столбца для каждой комбинации.
Мой код:

Код: Выделить всё

import pandas as pd
from scipy import stats

source = pd.DataFrame({
'Country': ['USA', 'USA', 'Russia', 'USA'],
'City': ['New-York', 'New-York', 'Sankt-Petersburg', 'New-York'],
'Short name': ['NY', 'New', 'Spb', 'NY']})

source.groupby(['Country','City']).agg(lambda x: stats.mode(x['Short name'])[0])
Последняя строка кода не работает, там написано KeyError: «Короткое имя», и если я попытаюсь сгруппировать только по городу, то получу AssertionError. Что я могу сделать, чтобы это исправить?

Подробнее здесь: https://stackoverflow.com/questions/152 ... mmon-value

Вернуться в «Python»