gpt4 book ai didi

python - 通过重命名合并 Pandas 分类系列

转载 作者:太空宇宙 更新时间:2023-11-04 01:08:59 27 4
gpt4 key购买 nike

我正在寻找一种方法将 pandas.Series 的一个对象的类别合并到另一个对象的类别。

import pandas as pd
from pandas import Series, Categorical

N = Series(["a","b","c","a"], dtype="category", name = "NEW_TEST")
N1 = N.copy()
N2 = N.copy()

有效

N1.cat.categories = ['AA', 'BB', 'CC']

抛出错误 ValueError: Categorical categories must be unique

N2.cat.categories = ['AA', 'AA', 'CC'] 

我想重命名合并类别。因此,来自类别 b 的所有值最终都将归入类别 AA

最佳答案

这样做的一种方法是将类别分配给您要重命名的类别系列中的所有元素:

In [59]: N
Out[59]:
0 a
1 b
2 c
3 a
Name: NEW_TEST, dtype: category
Categories (3, object): [a < b < c]

In [60]: N[N=='b'] = 'a'

In [61]: N
Out[61]:
0 a
1 a
2 c
3 a
Name: NEW_TEST, dtype: category
Categories (3, object): [a < b < c]

现在,类别为“b”的所有元素都分配有类别“a”。如果您现在删除类别“b”,这实际上将以“合并”结束:

In [62]: N.cat.remove_unused_categories()
Out[62]:
0 a
1 a
2 c
3 a
dtype: category
Categories (2, object): [a < c]

In [63]: N.cat.remove_categories(['b'])
Out[63]:
0 a
1 a
2 c
3 a
dtype: category
Categories (2, object): [a < c]

关于python - 通过重命名合并 Pandas 分类系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28836137/

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