gpt4 book ai didi

python - Pandas - 更改因子类型对象的级别顺序

转载 作者:太空狗 更新时间:2023-10-29 19:37:20 24 4
gpt4 key购买 nike

我有一个 Pandas 数据框 df,其中列 school 作为因子

Name    school
A An
B Bn
C Bn

如何在 python 中将 school 列的级别从 ('An', 'Bn') 更改为 ('Bn', 'An')?

R 等价于

levels(df$school) = c('Bn','An')

最佳答案

您可以使用 reorder_categories (你传入排序的因素):

In [11]: df
Out[11]:
Name school
0 A An
1 B Bn
2 C Bn

In [12]: df['school'] = df['school'].astype('category')

In [13]: df['school']
Out[13]:
0 An
1 Bn
2 Bn
Name: school, dtype: category
Categories (2, object): [An, Bn]

In [14]: df['school'].cat.reorder_categories(['Bn', 'An'])
Out[14]:
0 An
1 Bn
2 Bn
dtype: category
Categories (2, object): [Bn, An]

您可以就地执行此操作:

In [21]: df['school'].cat.reorder_categories(['Bn', 'An'], inplace=True)

In [22]: df['school']
Out[22]:
0 An
1 Bn
2 Bn
Name: school, dtype: category
Categories (2, object): [Bn, An]

See the reordering categories section of the docs .

关于python - Pandas - 更改因子类型对象的级别顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38023881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com