Python TypeError:使用Dataframe时,类型的对象没有len()

Python TypeError:使用Dataframe时,类型的对象没有len(),python,pandas,dataframe,pytorch,dataloader,Python,Pandas,Dataframe,Pytorch,Dataloader,我尝试了以下代码 import pandas as pd import os from torch.utils.data import Dataset from torch.utils.data import Dataset, DataLoader class ArticleDataset(Dataset): def __init__(self): # super().__init__() df= pd.read_csv('https://drive.google.c

我尝试了以下代码

import pandas as pd
import os
from torch.utils.data import Dataset
from torch.utils.data import Dataset, DataLoader

class ArticleDataset(Dataset):
   def __init__(self):
    #  super().__init__()
     df= pd.read_csv('https://drive.google.com/uc?export?format=csv&=download&id=*********', sep = "delimiter", index_col=0, header=None, engine='python')

     self.articles_list=df

     def __len__(self):
        return len(self.articles_list)

     def __getitem__(self, item):
        return self.articles_list.index[item]
执行df.head()时,数据帧包含数据并打印数据。 但它给出了错误

TypeError                                 Traceback (most recent call last)
<ipython-input-74-08e914e52560> in <module>()
      1 dataset =ArticleDataset()
----> 2 article_loader=DataLoader(dataset, batch_size=1, shuffle=True)

2 frames
/usr/local/lib/python3.6/dist-packages/torch/utils/data/sampler.py in num_samples(self)
     98         # dataset size might change at runtime
     99         if self._num_samples is None:
--> 100             return len(self.data_source)
    101         return self._num_samples
    102 

TypeError: object of type 'ArticleDataset' has no len()
被执行

但是根据中找到的正确答案,len(DataFrame.index)也给出了数据框中预期的行数。 和df.index打印数据帧的第一行,但无法找出错误

我也尝试过将数据帧转换为列表,但出现了相同的错误。 可能代码中有一些错误,我没有看到,而且我是python新手。 感谢您的任何帮助

编辑(取消插入一次后):

import pandas as pd
import os
from torch.utils.data import Dataset
from torch.utils.data import Dataset, DataLoader

class ArticleDataset(Dataset):
   def __init__(self):
    #  super().__init__()
     df= pd.read_csv('https://drive.google.com/uc?export?format=csv&=download&id=*******', sep = "delimiter", index_col=0, header=None, engine='python')

     self.articles_list=df

    def __len__(self):
        return len(self.articles_list)

    def __getitem__(self, item):
        return self.articles_list.index[item]
这将导致以下错误

File "<ipython-input-104-165bbc37826a>", line 13
    def __len__(self):
                      ^
IndentationError: unindent does not match any outer indentation level
文件“”,第13行
定义(自我):
^
缩进错误:未缩进与任何外部缩进级别不匹配

unident
\uuu len\uuuuu
\uuu getitem\uuuuu
@HenryYik,Unindenting一旦给我“def”\uuuu len\uuuuuu(self):^IndentationError:Unindent与任何外部缩进级别都不匹配”@D。佩雷拉你能编辑你的帖子,将导致该错误的缩进代码包括在内吗?谢谢,@HenryYik和AMC这是我一直没有看到的压痕。它现在可以在缩进到与init相同的级别后工作method@D.Perera请回答你自己的问题。否则,如果有人搜索没有答案的问题,就会找到这篇文章。
File "<ipython-input-104-165bbc37826a>", line 13
    def __len__(self):
                      ^
IndentationError: unindent does not match any outer indentation level