TypeError: 'numpy.float64' 对象不能被解释为整数假新闻检测

时间:2021-03-23 08:20:02

标签: python numpy

我收到此错误,但无法解决,也无法在 Internet 上找到。

>> bar/ris 7 yyy
entering bar with [x: 7 ris: true var: 'yyy]
entering foo with [val1: 7 val2: 2 local: false temp: none]
foo returned 14
bar returned 22
== 22

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

    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

1 个答案:

答案 0 :(得分:0)

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]]

避免分裂...