Наиболее частое *скользящее* значение в столбце кадра данных object/str pandas ⇐ Python

Программы на Python
Anonymous
Наиболее частое *скользящее* значение в столбце кадра данных object/str pandas

Сообщение Anonymous »

Мне хотелось бы иметь новый столбец с наиболее частым скользящим значением из другого столбца str/object.

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

          date     name state
0   2024-02-29    Alice    CA
1   2024-02-27      Bob    HI
2   2024-02-29    Cindy    ID
3   2024-02-25      Dan    MT
4   2024-02-29  Elliott    CA
..       ...        ...   ...
Я пытаюсь получить наиболее частое состояние прокрутки (для каждой строки).
Я пробовал разные комбинации (и подмножества ) из который обычно генерирует одну из немногих ошибок, жалующихся на то, что столбец нечисловой. Я понимаю, о чем говорит мне ошибка: она ожидает агрегирования и применения числовой функции ( .sum() ...) - но до функции .apply() дело даже не доходит...

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

def fail_now(x):
raise Exception('wow! we made it here!')

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

>>> df['state'].rolling(window=25).apply(fail_now)
...
pandas.errors.DataError: No numeric types to aggregate

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

>>> df[['state']].rolling(window=25).apply(fail_now)
...
pandas.errors.DataError: Cannot aggregate non-numeric type: object

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

>>> df[['state']].rolling(window=25)['state'].apply(fail_now)
...
pandas.errors.DataError: No numeric types to aggregate
Я также пробовал множество разных вещей, включая флаг raw в .apply(), но безуспешно

Подробнее здесь: https://stackoverflow.com/questions/790 ... ame-column

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