我有巨大的基因组数据集,包含两个分类列“染色体”和“链”。我知道这两个值都不会超过25个,因此我想使用uint8作为类别的底层数据。我该怎么做?
发布于 2018-11-12 23:49:51
我认为您可以使用numpy将您的专栏直接转换为uint8
df = pd.DataFrame({'Strand': [123, 208, 213, 111]})
df['Strand'] = df['Strand'].astype(np.uint8)
df.dtypes
Strand uint8
dtype: object如果进一步将列转换为Categorical,则pandas会将数据类型转换为uint64:
df['Strand'] = pd.Categorical(df['Strand']).
[123, 208, 213, 111] Categories (4, uint64): [111, 123, 208, 213]https://stackoverflow.com/questions/53264239
复制相似问题