我将客户评论存储在“情绪”一栏中。这是data['Sentiment'].unique()
的结果:
array(['Negative', 'Positive', '?', 'Neutral', 'nan', 'positive',
'neutral', 'negative', 'Neg', 'ppos', 'ne'], dtype=object)
我试图将这些值分为“正”、“负”和“中性”,并创建了三个映射列表:
positive = ['Positive','positive', 'ppos']
negative = ['Negative', 'negative', 'Neg']
neutral = ['Neutral', 'neutral', 'ne']
其他的都应该是NAn。我尝试了iterrows()
,大致如下:
for idx, row in data.iterrows():
if row['Sentiment'].isin(positive):
row['Sentiment'] == 'positive'
...
不起作用,似乎也没有效率。我尝试过使用级数和布尔运算,这似乎是一种很有前途的方法,但我真的想知道是否有一些简洁的解决方法
使用numpy.select。传递条件作为第一个参数,与条件对应的值作为第二个参数,默认值与任何条件都不匹配
您可以创建一个字典,将旧值与新值配对,并通过pandas map替换感伤列的内容
使用
pd.apply
相关问题 更多 >
编程相关推荐