Для данного фрейма данных категориального типа, если я подмножеству фрейма данных, чтобы он содержал только несколько категориальных типов, значений, подмножество данных по-прежнему запоминает полный список уровней категорий.
Когда я группирую по этому, меньшему по размеру, кадру данных, я продолжаю получать значения, которых я не ожидаю .
Вот код, который повторяет это:
Код: Выделить всё
import pandas as pd
df = pd.DataFrame({
'colA':['a', 'b', 'b', 'c', 'c', 'c'],
'colB':1
})
df['colA'] = df['colA'].astype('category') #[code]FEATHER_PATH = Path.joinpath(Path.home(), 'Downloads', 'test.feather')
smalldf.to_feather(FEATHER_PATH)
pd.read_feather(FEATHER_PATH)['colA']
Код: Выделить всё
0 a
1 b
2 b
Name: colA, dtype: category
Categories (3, object): ['a', 'b', 'c']
Им придется явно искать уровни категорий, чтобы найти спрятанную там букву «c»!
Я не уверен, что такое поведение неправильное, но оно определенно может сбить с толку!
Не уверен, что это можно оставить здесь в качестве предупреждения другим.< /п>
Подробнее здесь: https://stackoverflow.com/questions/715 ... er-of-rows
Мобильная версия