Python 如何解决这个问题;-:';的操作数类型不受支持;str';和';str'&引用;错误

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

我正在研究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=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]
to
float
@CamiloMartínez不是
pd.read_csv()
应该自动解析csv中的数字吗?在循环中打印
k
,然后您就会知道文件的哪一行导致了错误。然后检查那条线。