Python 如何为in创建循环并将结果放入列
我真的是for in循环的初学者。我想创建一些循环,将Python 如何为in创建循环并将结果放入列,python,pandas,dataframe,for-loop,Python,Pandas,Dataframe,For Loop,我真的是for in循环的初学者。我想创建一些循环,将 df['sentiment_rat2'] = df['sentiment'].apply(lambda polarity: 'positiv' if polarity >= 0.3 else 'negative') 我得到了一个错误: TypeError:“情绪”和的实例之间不支持“>” “浮动” 这是我的数据框: Text Tweet_tokenized Tweet_nonstop Tweet_stemmed sen
df['sentiment_rat2'] = df['sentiment'].apply(lambda polarity: 'positiv' if polarity >= 0.3 else 'negative')
我得到了一个错误:
TypeError:“情绪”和的实例之间不支持“>”
“浮动”
这是我的数据框:
Text Tweet_tokenized Tweet_nonstop Tweet_stemmed sentiment sentiment_rat2
0 0 RT @bennyjohnson: From what I am understanding, you want a new column in the dataframe that takes 1 of 2 string values, either "positiv" or "negative", depending on the sentiment score? If that is what you are going for, you could try:
df['sentiment_rat2'] = df['sentiment'].apply(lambda x: np.where(x >= 0.3, "positiv", "negative"))
Text Tweet\u标记化Tweet\u不间断Tweet\u词干化情绪\u rat2
0 0 RT@bennyjohnson:据我所知,您希望数据帧中的新列采用两个字符串值中的一个,即“正”或“负”,具体取决于情绪分数?如果这就是你想要的,你可以尝试:
我不太确定变量极性是从哪里来的,数据帧的片段也不是很清楚。如果我误解了你的问题,也许一个屏幕截图会有助于澄清问题:)你的代码看起来很好,似乎你正在尝试比较情绪类和float,情绪必须是一个包装器对象,其中包含要比较的数值字段。如果它来自某个库,请检查其文档以检索数值。例如,如果它是一个称为极性的状态变量,那么您将有df['touction_rat2']=df['touction'].apply(lambda touction:'positive'if touction.polarity>=0.3,否则为'negative')
great thank!如果我想添加一些例如“neutrals”,它将是“and if thiotation.polarity 0 esle:或尝试使用range?我会编写一个函数来处理这些情况,然后将该函数传递给df.apply(),我不希望我的lambda太凌乱,但是如果你必须像“positive”if thiotation>0这样的东西,那么就可以了(“负面”如果情绪<0或者“中性”)
嘿,我会把链接放到屏幕上,以获取我的DF。谢谢