提问人:quesadagranja 提问时间:10/9/2023 更新时间:10/9/2023 访问量:38
根据分类变量的两个元素的有序分类比较它们
Comparing two elements of a categorical variable according to their ordered categorization
问:
在 Python 中,我创建了一个分类变量,如下所示:
x = pd.Categorical(["Hi", "Lo", "Med", "Zer", "Lo", "Zer", "Lo", "Hi"], categories = ["Zer", "Lo", "Med", "Hi"], ordered=True)
我想将元素 0 与元素 1 进行比较。原则上,“Hi”大于“Lo”。为什么我打字时会得到?False
x[0] > x[1]
如何根据分类变量的两个元素的有序分类进行比较?
答:
2赞
Andrej Kesely
10/9/2023
#1
您可以比较代码
:
x = pd.Categorical(
["Hi", "Lo", "Med", "Zer", "Lo", "Zer", "Lo", "Hi"],
categories=["Zer", "Lo", "Med", "Hi"],
ordered=True,
)
print(x.codes[0] > x.codes[1])
指纹:
True
1赞
mozway
10/9/2023
#2
一旦你切片了单个项目,你就会回到一个 python 字符串,并丢失所有订单信息:
type(x[0])
# str
要进行有效的比较,您需要保持数组状态:
x[[0]]>x[[1]]
# array([ True])
使用 pandas/numpy 时,您通常希望执行矢量运算,即一次处理多个项目/比较。
评论