Python 关于分类值的Pandas.cut()

Python 关于分类值的Pandas.cut(),python,pandas,dataframe,Python,Pandas,Dataframe,这是我的数据帧 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(

这是我的数据帧

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.iloc[::-1]
dataframe.Grades = pd.Categorical(dataframe.Grades, 
               categories = list(dataframe.Grades),
               ordered = True)
但是我想使用pd.cut将值分成两个箱子

pd.cut(df.Grades, 2, labels=['Good', 'Bad'])
但它返回的错误是

只能将str(而不是“float”)连接到str


我犯了什么错?谢谢

熊猫切割不是正确的工具。它将连续变量转换为装箱变量。例如:

values = pd.Series([0,1,2,3,4,5,6]
binned = pd.cut(values, bins=3)

binned
>>>  0  (-0.006, 2.0]
     1  (-0.006, 2.0]
     2  (-0.006, 2.0]
     3  (2.0, 4.0]
     4  (2.0, 4.0]
     5  (4.0, 6.0]
     6  (4.0, 6.0]
正如您所见,它确定了仓位(3个仓位,2个单位,覆盖0-6个范围),并通过指定相应仓位将连续值转换为分类值


如果您需要进一步帮助,请编辑您的问题,提供您的输入和所需的输出,以便我们了解您想要实现的目标。

熊猫切割不是正确的工具。它将连续变量转换为装箱变量。例如:

values = pd.Series([0,1,2,3,4,5,6]
binned = pd.cut(values, bins=3)

binned
>>>  0  (-0.006, 2.0]
     1  (-0.006, 2.0]
     2  (-0.006, 2.0]
     3  (2.0, 4.0]
     4  (2.0, 4.0]
     5  (4.0, 6.0]
     6  (4.0, 6.0]
正如您所见,它确定了仓位(3个仓位,2个单位,覆盖0-6个范围),并通过指定相应仓位将连续值转换为分类值


如果您需要进一步帮助,请编辑您的问题,提供您的输入和所需的输出,以便我们了解您想要实现的目标。

谢谢。我想知道熊猫切是怎么工作的。我想把这个系列分成两类谢谢。我想知道熊猫切是怎么工作的。我试着把这个系列分成两类