类型错误:"numpy.float64"对象不能解释为整数假新闻检测



我遇到这个错误,无法解决,也无法在互联网上找到。

TypeError: 'numpy.float64' object cannot be interpreted as an integer
TypeError                                 Traceback (most recent call last)
<ipython-input-10-33f2a17ec582> in <module>
20         print("Saving New CSV file")
21 if __name__=='__main__':
---> 22         dataSetExtraction()
<ipython-input-10-33f2a17ec582> in dataSetExtraction()
6         dfReal=processRealNewsDataFrame(dfReal)
7         dfCombine=[]
----> 8         for d in extractTopRealResultsForCrawling(dfReal):
9                 print('len of datadrame :',d['URL'].size)
10                 #d=d[:100]
<ipython-input-6-9dbfd3f21499> in extractTopRealResultsForCrawling(dfReal)
6     listOfIndex=[]
7     df=[]
----> 8     for i in range(0,loop):
9         listOfIndex.append(dfReal[i*10000:(i+1)*10000])
10         df+=[dfReal[i*10000:(i+1)*10000]]
TypeError: 'numpy.float64' object cannot be interpreted as an integer

这是给出错误的代码。我无法删除错误请帮助我

def extractTopRealResultsForCrawling(dfReal):
print("Retrieve top 20000 Real news data")
num=dfReal.size
loop=num/10000
listOfIndex=[]
df=[]
for i in range(0,loop):
listOfIndex.append(dfReal[i*10000:(i+1)*10000])
df+=[dfReal[i*10000:(i+1)*10000]]   
#print "length of dataframe array retrieved:",len(df[0])
return df[:LEN]

range函数只能接收整数值

这里有一个最小代码复制(或多或少(的问题:

>>> a = 2.0
>>> [i for i in range(a)]
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
[i for i in range(a)]
TypeError: 'float' object cannot be interpreted as an integer

您需要将值转换为整数

>>> [i for i in range(int(a))]
[0, 1]

在您的代码中,您应该使用:

for i in range(int(loop)):

或者,你可以做:

for i in range(0, num, 10000):
listOfIndex.append(dfReal[i:i+10000])
df+=[dfReal[i:i+10000]]

避免分裂。。。

最新更新