Python 如何解决这个问题;-:';的操作数类型不受支持;str';和';str'&引用;错误
我正在研究YouTube API的一些问题,这些问题允许我估计每个视频的信息面(比如,不喜欢和浏览次数)对形成用户意见的影响Python 如何解决这个问题;-:';的操作数类型不受支持;str';和';str'&引用;错误,python,pandas,youtube-data-api,string-conversion,unsupportedoperation,Python,Pandas,Youtube Data Api,String Conversion,Unsupportedoperation,我正在研究YouTube API的一些问题,这些问题允许我估计每个视频的信息面(比如,不喜欢和浏览次数)对形成用户意见的影响 dff=pd.read_csv('VideosPolarity.csv') print(dff) print(dff.columns) nv=len(dff) # video number gamma=0.3 polarity=dff['polarity'] dislike=dff['dislikeCount'] like=dff['likeCount'] view=d
dff=pd.read_csv('VideosPolarity.csv')
print(dff)
print(dff.columns)
nv=len(dff) # video number
gamma=0.3
polarity=dff['polarity']
dislike=dff['dislikeCount']
like=dff['likeCount']
view=dff['viewCount']
viewNb=len(view)
channelId=dff['channelId'].unique()
users=len(channelId)
sumpolarity=polarity.sum(axis = 0, skipna = True)
avpolarity=sumpolarity/users
VOpinion=[]
for k in range(0,nv):
value=(((like[k]-dislike[k])/viewNb)*round(avpolarity,1))*round(polarity[k],1)
VOpinion.append(value)
VideoOpinion=gamma*sum(VOpinion)
print('VideoOpinion:',VideoOpinion)
但我面临着这个问题
TypeError Traceback (most recent call last)
<ipython-input-14-aadb106341f9> in <module>
23 VOpinion=[]
24 for k in range(0,nv):
---> 25 value=(((like[k]-dislike[k])/viewNb)*round(avpolarity,1))*round(polarity[k],1)
26 VOpinion.append(value)
27
TypeError: unsupported operand type(s) for -: 'str' and 'str'
TypeError回溯(最近一次调用)
在里面
23小齿轮=[]
24表示范围内的k(0,nv):
--->25值=((喜欢[k]-不喜欢[k])/viewNb)*圆形(avpolarity,1))*圆形(polarity[k],1)
26.附加(值)
27
TypeError:-:“str”和“str”的操作数类型不受支持
有人能给我建议一个解决方案吗?负号不是为字符串定义的(与加号不同)。
like[k]-厌恶[k]
都是字符串,不能在两个字符串实例之间使用-
。检查您在like
和dislike
下定义的内容,因为您是通过索引引用它们的,如果它们是字符串,您试图用不受支持的char
减去char
。尝试强制转换like[k]
和dislike[k]
tofloat
@CamiloMartínez不是pd.read_csv()
应该自动解析csv中的数字吗?在循环中打印k
,然后您就会知道文件的哪一行导致了错误。然后检查那条线。