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()得到了一个意外的关键字参数“categories”。
我想你错过了一个方括号:df['Grades'应该是df['Grades']。。。
测试:
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['Grades'].astype('category',categories=['D', 'D+', 'C-', 'C', 'C+', 'B-', 'B', 'B+', 'A-', 'A', 'A+'],ordered=True)
print(df)
输出:
excellent A+
excellent A
excellent A-
good B+
good B
good B-
ok C+
ok C
ok C-
poor D+
poor D
Name: Grades, dtype: category
Categories (11, object): [D < D+ < C- < C ... B+ < A- < A < A+]
我想这个问题和你的熊猫版本有关
试试这个:
import pandas as pd
import numpy as np
from pandas.api.types import CategoricalDtype
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
grades = df['Grades'].astype(CategoricalDtype(categories = ['D','D+',
'C-', 'C', 'C+',
'B-', 'B', 'B+',
'A-', 'A', 'A+'],
ordered=True))
grades.head()
从熊猫0.25被删除这些论点:
删除了astype(GH17742)中以前不推荐使用的ordered和categories关键字参数
在较新版本中,必须使用categorialdType
并传递到aType
:
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
或使用分类的
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
问题内容: 升级到Django 1.10后,出现错误。 我的看法如下: 这是完整的回溯: 问题答案: 中的参数在Django 1.8 中已弃用,在Django 1.10中已删除。 解决方案是切换到快捷方式,该快捷方式会自动使用。 更新您的导入并按如下所示进行查看。注意,将对象作为其第一个参数。 该快捷方式是Django 1.3中引入的,因此此更改与Django的较早版本兼容。
我尝试使用pandas DataFrame的pivot_table方法; 但是,我收到以下错误: 上述命令摘自Wes McKinney(pandas的创建者)的《Python用于数据分析》一书
我正试图与Featuretools合作,为客户流失数据集开发一个自动化的特征工程工作流。最终结果是一个函数,它接收数据集并为客户标记时间,并构建可用于训练机器学习模型的特征矩阵。 作为本练习的一部分,我尝试执行以下用于绘制直方图的代码,并得到“TypeError:import_optional_dependency()得到一个意外的关键字参数'errors'”。请帮助解决此类型错误。 以下是我收到
我有wiev功能: 装饰: "index"函数正常工作,但"细节"向下错误: TypeError:包装器()获得意外的关键字参数“id” P.S.id参数在url模式中
我试图用Python的Pymoo库设置我的优化,我使用他们的“入门”指南,但传递我自己的独立变量,也不使用约束。我使用指南中的示例函数得到了相同的结果(我在下面的代码中注释了它们)。 代码如下: 当我打印出问题类中_evaluate_elementwise方法中的kwargs时,我确实得到了它是算法对象: {'算法': 我很难理解它是如何将algorithm对象作为_evalute的参数的,它接受