【发布时间】:2017-10-24 19:36:28
【问题描述】:
我有一个 txt_file,其中包含如下行: "2017-03-21 12:00:00","844334879861069999","RT @______: Ein wenig Zelda in der Schule spielen :) #SwitchMoment @NintendoDE URL"
我想在左侧添加一列,其值为 4 表示正数,0 表示负数,具体取决于该行包含正数 (":)",":D") 还是负数笑脸 (":-( ",":(")。如果两种类型都在一条线上,则需要变成 99。我很高兴听到有关如何实现这些结果的任何建议。 我的尝试:
import pandas as pd
p_smilies=[":)",":D"]
n_smilies=[":-(",":("]
csv_input = pd.read_csv('input.csv')
csv_input['sentiment']=0
for line in csv_input["tweets"]:
for p in p_smilies:
if p in line:
<ascribe value 4 to corresponding line in csv_input['sentiment]>
for n in p_smilies:
if n in line:
<ascribe value 4 to corresponding line in csv_input['sentiment]>
<check whether both are in the same line and ascribe 99 to line>
csv_input.to_csv('output.csv', index=False)
【问题讨论】:
标签: python python-3.x pandas twitter