通过迭代pandas中的for循环,我为行和列创建了具有相同信息的矩阵。
这是我目前的代码:
for i in range(60):
eachMatrix = pd.DataFrame(index=df.WordTeams[i],columns=df.WordTeams[i])
eachMatrixcols = eachMatrix.columns.values
eachMatrixIndex = eachMatrix.index.values
for values in eachMatrixcols:
for words in eachMatrixIndex:
if values == words:
eachMatrix.loc[words, values] = 0
else:
urlVector = requests.get( "XXXX?resp=" + values + "&modResp=" + words)
loaded = json.loads(urlVector.text)
print(loaded)
他们看起来像这样:
dog cat med sox
dog 0 NAN NAN NAN
cat NAN 0 NAN NAN
med NAN NAN 0 NAN
sox NAN NAN NAN 0
数字表示单词之间的语义距离。为了填充NAN值,我正在使用两个单词(例如狗和猫)调用API。当我在for循环或浏览器之外尝试它时API工作,但由于某种原因在我的循环中调用时返回此错误
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
回溯错误:
JSONDecodeError Traceback (most recent call last)
<ipython-input-3-0c4507581e84> in <module>()
14 else:
15 urlVector = requests.get( "http://52.7.88.187/DSCoVAR-NLP/w2vScore.php?resp=" + values + "&modResp=" + words)
16 loaded = json.loads(urlVector.text)
17 print(loaded)
18
我尝试了try / except子句,它只返回第一个api调用的数字,然后执行except。有人知道为什么会这样吗?
答案 0 :(得分:1)
解决!原来我的单词/值中有空格。愚蠢的错误,但显示了印刷声明的重要性。