Pandas – создать объект dtype столбца или фактор

В pandas, как я могу преобразовать столбец DataFrame в объект dtype? Или еще лучше, в какой-то фактор? (Для тех, кто говорит R, в Python, как мне as.factor() ?)

Кроме того, в чем разница между pandas.Factor и pandas.Categorical ?

3 Solutions collect form web for “Pandas – создать объект dtype столбца или фактор”

Вы можете использовать метод astype для создания серии (один столбец):

 df['col_name'] = df['col_name'].astype(object) 

Или весь DataFrame:

 df = df.astype(object) 

Обновить

Начиная с версии 0.15, вы можете использовать тип данных категории в столбце Series /:

 df['col_name'] = df['col_name'].astype('category') 

Примечание: pd.Factor был устаревшим и был удален в пользу pd.Categorical .

Насколько я знаю, Factor и Categorical одинаковы. Я думаю, что изначально он назывался Factor, а затем был изменен на категориальный. Чтобы преобразовать в Категорический, возможно, вы можете использовать pandas.Categorical.from_array , что-то вроде этого:

 In [27]: df = pd.DataFrame({'a' : [1, 2, 3, 4, 5], 'b' : ['yes', 'no', 'yes', 'no', 'absent']}) In [28]: df Out[28]: ab 0 1 yes 1 2 no 2 3 yes 3 4 no 4 5 absent In [29]: df['c'] = pd.Categorical.from_array(df.b).labels In [30]: df Out[30]: abc 0 1 yes 2 1 2 no 1 2 3 yes 2 3 4 no 1 4 5 absent 0 

Также используется функция pd.factorize:

 # use the df data from @herrfz In [150]: pd.factorize(df.b) Out[150]: (array([0, 1, 0, 1, 2]), array(['yes', 'no', 'absent'], dtype=object)) In [152]: df['c'] = pd.factorize(df.b)[0] In [153]: df Out[153]: abc 0 1 yes 0 1 2 no 1 2 3 yes 0 3 4 no 1 4 5 absent 2 
Interesting Posts

Ошибка gcc-4.2 с статусом выхода 1

Интерпретация суммы баллов TF-IDF по документам

Django: Загрузите изображение из URL, измените его размер, добавьте «маленький» в конец имени файла

Создание замкнутого многоугольника из граничных точек

КАК использовать использование ткани с dtach, экраном, есть ли какой-то пример

Не удалось загрузить репозиторий (PyDev для eclipse)

Доступ к Google Диску из приложения Python для приложения Google App Engine

Проверка того, является ли число простым числом в Python

Отчёт о двух выборочной статистике KS из двух предварительно вычисленных гистограмм

Как изменить размер шрифта на графике matplotlib

Ошибка чтения / записи Raspberry Pi i2c

Изменение свойства kivy из другого потока

Do dicts сохраняют порядок итераций, если они не изменены?

Как отсортировать список в зависимости от значений в подсписках?

Есть ли статистический профилировщик для python? Если нет, как я могу написать письмо?

Python - лучший язык программирования в мире.