Как я могу установить базовое представление категорий в uint8? - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть огромные наборы геномных данных с двумя категориальными столбцами «Хромосома» и «Стрэнд».Я знаю, что ни у одного из них не будет больше 25 значений, поэтому я хотел бы использовать uint8 для данных, лежащих в основе категории.Как мне это сделать?

1 Ответ

0 голосов
/ 12 ноября 2018

Я думаю, что вы можете привести свои столбцы прямо к uint8 с помощью numpy

df = pd.DataFrame({'Strand': [123, 208, 213, 111]})
df['Strand'] = df['Strand'].astype(np.uint8)
df.dtypes
Strand    uint8
dtype: object

Если вы в дальнейшем будете приводить столбец как Категорический , панда преобразует dtype в uint64:

df['Strand'] = pd.Categorical(df['Strand']).
[123, 208, 213, 111] Categories (4, uint64): [111, 123, 208, 213]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...