gpt4 book ai didi

python - Pandas 分类没有按预期工作

转载 作者:太空宇宙 更新时间:2023-11-04 05:15:28 26 4
gpt4 key购买 nike

我试图了解序数尺度(分类)在 pandas 中的工作原理。

import pandas as pd
import numpy as np

student = ["alex","bob","cynthia","daniel","evans"]
tshirt = ["L","XL","S","M","L"]
df = pd.DataFrame(data = tshirt, index=student)
df = df.rename(columns={0:"tshirt"})




tshirt
alex L
bob XL
cynthia S
daniel M
evans L

df = df["tshirt"].astype("category", categories = ["S","M","L","XL"],ordered = True)

当我尝试以下代码时,它显示为 True。

df.loc["alex"] < df.loc["daniel"]

它应该是 False(因为 L > M)

我的代码有什么问题?

最佳答案

首先,您的 df 实际上是一个 Series...但无论如何,问题是您正在比较 ,这是字符串,它们具有固有的顺序(字典顺序),这就是 Python 正在做的事情。您需要以返回 pandas 数据结构的方式选择数据:

In [2]: df[['alex']] < df[['daniel']]
Out[2]:
alex False
Name: tshirt, dtype: bool

或者

In [3]: df.loc[['alex']] < df.loc[['daniel']]
Out[3]:
alex False
Name: tshirt, dtype: bool

关于python - Pandas 分类没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41842134/

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