Отвечая на на этот вопрос , я обнаружил, что после использования melt
на фрейме данных pandas столбец, который был ранее упорядоченным категориальным dtype, становится object
.Является ли это предполагаемым поведением?
Примечание: не ищет решения, просто задается вопросом, есть ли причина для такого поведения или не является ли это предполагаемым поведением.
Пример:
Использование следующего фрейма данных df
:
Cat L_1 L_2 L_3
0 A 1 2 3
1 B 4 5 6
2 C 7 8 9
df['Cat'] = pd.Categorical(df['Cat'], categories = ['C','A','B'], ordered=True)
# As you can see `Cat` is a category
>>> df.dtypes
Cat category
L_1 int64
L_2 int64
L_3 int64
dtype: object
melted = df.melt('Cat')
>>> melted
Cat variable value
0 A L_1 1
1 B L_1 4
2 C L_1 7
3 A L_2 2
4 B L_2 5
5 C L_2 8
6 A L_3 3
7 B L_3 6
8 C L_3 9
Теперь, если я посмотрю на Cat
, он станет объектом:
>>> melted.dtypes
Cat object
variable object
value int64
dtype: object
Это предназначено?