簡體   English   中英

Pandas.cut() 關於分類值

[英]Pandas.cut() on categorical values

這是我的 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(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

我的錯誤是什么? 謝謝

Pandas 切割不是正確的工具。 它將連續變量轉換為分箱變量。 例子:

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]

如您所見,它確定了 bin(2 個單位的 3 個 bin 以覆蓋 0-6 范圍),並通過分配相應的 bin 將連續值轉換為分類值。

如果您需要進一步的幫助,請編輯您的問題,提供您的輸入和所需的 output,以便我們了解您想要實現的目標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM