Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用条件值将列添加到txt_Python_Python 3.x_Pandas_Twitter - Fatal编程技术网

Python 使用条件值将列添加到txt

Python 使用条件值将列添加到txt,python,python-3.x,pandas,twitter,Python,Python 3.x,Pandas,Twitter,我有一个txt_文件,其中的行如下: “2017-03-21 12:00:00”、“84433487986106999”、“RT@__________________;:艾因·韦尼格·泽尔达在《斯皮伦之书》中:)#任天堂 我想在左边添加一列,值为4表示正,值为0表示负,这取决于该行是否包含正(“:)”,“:D”)或负smilie(“:-(“,”:(”)。如果两种类型都在一行中,它需要变成99。我很高兴听到关于如何实现这些结果的任何建议。 我的尝试: 将熊猫作为pd导入 p_smilies=[“:

我有一个txt_文件,其中的行如下: “2017-03-21 12:00:00”、“84433487986106999”、“RT@__________________;:艾因·韦尼格·泽尔达在《斯皮伦之书》中:)#任天堂

我想在左边添加一列,值为4表示正,值为0表示负,这取决于该行是否包含正(“:)”,“:D”)或负smilie(“:-(“,”:(”)。如果两种类型都在一行中,它需要变成99。我很高兴听到关于如何实现这些结果的任何建议。 我的尝试:

将熊猫作为pd导入
p_smilies=[“:)”,“:D”]
n_smilies=[”:-(“,”:(“]
csv\u input=pd.read\u csv('input.csv'))
csv_输入[“情绪”]=0
对于csv_输入中的行[“tweets”]:
对于p_微笑中的p:
如果p在直线上:
csv_input.to_csv('output.csv',index=False)
您可以使用:

我为无笑容添加新值
3

p_smilies=[r":\)",r":D"]
n_smilies=[r":-\(",r":\("]

mp = csv_input["tweets"].str.contains('|'.join(p_smilies))
mn = csv_input["tweets"].str.contains('|'.join(n_smilies))

csv_input['sentiment'] = np.where(mn & mp, 99, 
                         np.where(mn, 0, 
                         np.where(mp, 4, 3)))
print (csv_input)
                             tweets  sentiment
0  RT @_______len :) #SwitchMoment           4
1            :D :-( @NintendoDE URL         99
2                                :(          0
3                   Ein wenig Zelda          3
或者如果相同的值
0
表示否定和无微笑:

csv_input['sentiment'] = np.where(mn & mp, 99, 
                         np.where(mp, 4, 0))
print (csv_input)
                             tweets  sentiment
0  RT @_______len :) #SwitchMoment           4
1            :D :-( @NintendoDE URL         99
2                                :(          0
3                   Ein wenig Zelda          0
p_smilies=[r":\)",r":D"]
n_smilies=[r":-\(",r":\("]

mp = csv_input["tweets"].str.contains('|'.join(p_smilies))
mn = csv_input["tweets"].str.contains('|'.join(n_smilies))

csv_input['sentiment'] = np.where(mn & mp, 99, 
                         np.where(mn, 0, 
                         np.where(mp, 4, 3)))
print (csv_input)
                             tweets  sentiment
0  RT @_______len :) #SwitchMoment           4
1            :D :-( @NintendoDE URL         99
2                                :(          0
3                   Ein wenig Zelda          3
csv_input['sentiment'] = np.where(mn & mp, 99, 
                         np.where(mp, 4, 0))
print (csv_input)
                             tweets  sentiment
0  RT @_______len :) #SwitchMoment           4
1            :D :-( @NintendoDE URL         99
2                                :(          0
3                   Ein wenig Zelda          0