首页 > 解决方案 > 如何为输入创建循环并将结果放入列

问题描述

我真的是 for in 循环的初学者。我想创建一些循环

df['sentiment_rat2'] = df['sentiment'].apply(lambda polarity: 'positiv' if polarity >= 0.3 else 'negative')

我得到了错误:

TypeError: '>' 在 'Sentiment' 和 'float' 的实例之间不支持

这是我的数据框:

Text    Tweet_tokenized Tweet_nonstop   Tweet_stemmed   sentiment   sentiment_rat2
0   0   RT @bennyjohnson:  BOMBSHELL \n\nVeteran &am... [rt, bennyjohnson, bombshell, veteran, amp, bu...   [rt, bennyjohnson, bombshell, veteran, amp, bu...   [rt, bennyjohnson, bombshel, veteran, amp, bus...   (0.0, 0.07142857142857142)

我把我的屏幕。我的打印屏幕无法正常工作,抱歉 https://ibb.co/hDd0PNy

标签: pythonpandasdataframefor-loop

解决方案


据我了解,您希望数据框中的新列采用 2 个字符串值中的 1 个,“正”或“负”,具体取决于情绪得分?如果这就是你想要的,你可以尝试:

df['sentiment_rat2'] = df['sentiment'].apply(lambda x: np.where(x >= 0.3, "positiv", "negative"))

我不太确定变量极性来自何处,并且您的数据框片段也不是很清楚。如果我对您的问题有任何误解,也许截图会有助于澄清问题:)


推荐阅读