将 Pandas 系列转换为分类

Posted

技术标签:

【中文标题】将 Pandas 系列转换为分类【英文标题】:Convert Pandas Series to Categorical 【发布时间】:2019-03-08 23:15:35 【问题描述】:

我有一个只有唯一 ID 的 Panda 系列“ID”,它是对象的 dtype。

data_df.id.dtype

返回 dtype('O')

我正在尝试按照此处的示例从我的 df 创建一个稀疏矩阵:Efficiently create sparse pivot tables in pandas?

id_u= list(data_df.id.unique())
row = data_df.id.astype('category', categories=reviewer_u).cat.codes

我得到:

TypeError: data type "category" not understood

我不确定这个错误是什么意思,我也找不到太多关于它的信息。

【问题讨论】:

改用row = pd.Categorical(data_df['id'], categories=reviewer_u) 相关:Pandas: convert categories to numbers 【参考方案1】:

试试吧:

row = pd.Categorical(data_df['id'], categories=reviewer_u)

您可以使用以下方式获取代码:

row.codes

【讨论】:

以上是关于将 Pandas 系列转换为分类的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Pandas Dataframe 转换为 Keras RNN 以解决多变量分类问题

将 pandas 系列的 numpy 矩阵转换为 Multiindex 系列

将包含字符串的 Pandas 系列转换为布尔值

如何将 pandas 系列转换为 seaborn 条形图

python Pandas - 将系列转换为DataFrame,顶部有列

将 Pandas 系列的二维 numpy 数组转换为一维 numpy 数组列的 Pandas DataFrame