首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将类别的底层表示设置为uint8?

如何将类别的底层表示设置为uint8?
EN

Stack Overflow用户
提问于 2018-11-12 22:27:04
回答 1查看 81关注 0票数 1

我有巨大的基因组数据集,包含两个分类列“染色体”和“链”。我知道这两个值都不会超过25个,因此我想使用uint8作为类别的底层数据。我该怎么做?

EN

回答 1

Stack Overflow用户

发布于 2018-11-12 23:49:51

我认为您可以使用numpy将您的专栏直接转换为uint8

代码语言:javascript
复制
df = pd.DataFrame({'Strand': [123, 208, 213, 111]})
df['Strand'] = df['Strand'].astype(np.uint8)
df.dtypes
Strand    uint8
dtype: object

如果进一步将列转换为Categorical,则pandas会将数据类型转换为uint64:

代码语言:javascript
复制
df['Strand'] = pd.Categorical(df['Strand']).
[123, 208, 213, 111] Categories (4, uint64): [111, 123, 208, 213]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53264239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档