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个范围),并通过指定相应仓位将连续值转换为分类值
如果您需要进一步帮助,请编辑您的问题,提供您的输入和所需的输出,以便我们了解您想要实现的目标。谢谢。我想知道熊猫切是怎么工作的。我想把这个系列分成两类谢谢。我想知道熊猫切是怎么工作的。我试着把这个系列分成两类