亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python-'str'和'int'的實例之間不支持'TypeError:'<='

Python-'str'和'int'的實例之間不支持'TypeError:'<='

千萬里不及你 2021-03-30 13:15:11
我有一個df列,其值的范圍是-5到10。我想將值<= -1更改為negative,將所有0值更改為neutral,將所有值> = 1更改為positive。但是,下面的代碼為“負”產生以下錯誤。# Function to change values to labelstest.loc[test['sentiment_score'] > 0, 'sentiment_score'] = 'positive'test.loc[test['sentiment_score'] == 0, 'sentiment_score'] = 'neutral'test.loc[test['sentiment_score'] < 0, 'sentiment_score'] = 'negative'Data:                                  Data After Code:Index     Sentiment                    Index     Sentiment 0         2                            0         positive 1         0                            1         neutral 2        -3                            2         -3 3         4                            3         positive 4        -1                            4         -1 ...                                    ... k         5                            k         positivepandas._libs.ops.scalar_compare TypeError中的文件“ pandas_libs \ ops.pyx”,行98,TypeError:'str'和'int實例之間不支持'<='我認為這與將負數視為字符串而不是float / int的函數有關,但是我嘗試了以下代碼來更正此錯誤,并且它什么都不會改變。任何幫助,將不勝感激。test['sentiment_score'] = test['sentiment_score'].astype(float)test['sentiment_score'] = test['sentiment_score'].apply(pd.as_numeric)
查看完整描述

2 回答

?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

另一種選擇是定義一個自定義函數:


def transform_sentiment(x):

    if x < 0:

        return 'Negative'

    elif x == 0:

        return 'Neutral'

    else:

        return 'Positive'


df['Sentiment_new'] = df['Sentiment'].apply(lambda x: transform_sentiment(x))


查看完整回答
反對 回復 2021-04-27
  • 2 回答
  • 0 關注
  • 486 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號