gpt4 book ai didi

python - 错误 : astype() got an unexpected keyword argument 'categories'

转载 作者:行者123 更新时间:2023-12-04 11:42:54 24 4
gpt4 key购买 nike

 df = pd.DataFrame(['A+', 'A', 'A-', 'B+', 'B', 'B-', 'C+', 'C', 'C-', 'D+', 'D'],
index=['excellent', 'excellent', 'excellent', 'good', 'good', 'good', 'ok', 'ok', 'ok', 'poor', 'poor'])
df.rename(columns={0: 'Grades'}, inplace=True)
df

我正在尝试使用以下代码从上述数据框中创建一个有序类别 -
df = df['Grades'].astype('category',categories=['D', 'D+', 'C-', 'C', 'C+', 'B-', 'B', 'B+', 'A-', 'A', 'A+'],ordered=True)

但是它给出了错误: astype() 得到了一个意外的关键字参数“类别” .

最佳答案

来自 Pandas 0.25+ are removed these arguments :

Removed the previously deprecated ordered and categories keyword arguments in astype (GH17742)



在较新的 Pandas 版本中,必须使用 CategoricalDtype 并转至 astype :
from pandas.api.types import CategoricalDtype

cats = ['D', 'D+', 'C-', 'C', 'C+', 'B-', 'B', 'B+', 'A-', 'A', 'A+']
cat_type = CategoricalDtype(categories=cats, ordered=True)
df['Grades'] = df['Grades'].astype(cat_type)
print (df)
Grades
excellent A+
excellent A
excellent A-
good B+
good B
good B-
ok C+
ok C
ok C-
poor D+
poor D

或使用 Categorical :
df['Grades'] = pd.Categorical(df['Grades'], categories=cats, ordered=True)
print (df)
Grades
excellent A+
excellent A
excellent A-
good B+
good B
good B-
ok C+
ok C
ok C-
poor D+
poor D

关于python - 错误 : astype() got an unexpected keyword argument 'categories' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61908745/

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