【发布时间】:2021-10-14 21:12:15
【问题描述】:
在一列中,我有 4 个可能的(非顺序)值:A、2、+、?我想根据自定义序列 2、?、A、+ 对行进行排序,我遵循了一些我在网上遵循的代码:
order_by_custom = pd.CategoricalDtype(['2', '?', 'A', '+'], ordered=True)
df['column_name'].astype(order_by_custom)
df.sort_values('column_name', ignore_index=True)
但由于某种原因,虽然它确实进行了排序,但它仍然根据字母(或二进制值)位置而不是我在 order_by_custom 对象中输入它们的顺序进行排序。
有什么想法吗?
【问题讨论】:
-
您没有重新分配类型更改,因此订单被忽略。那是
df['column_name'] = df['column_name'].astype(order_by_custom)