Я попробовал следующий код
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()
при выполнении
dataset =ArticleDataset()
article_loader=DataLoader(dataset, batch_size=1, shuffle=True)
.
Но согласно правильному ответу, найденному в здесь , len (DataFrame.index) дает мне ожидаемое нет. строк в Dataframe, а также. И df.index 1 печатает первую строку Dataframe, но не может выяснить, что не так.
Я также пытался превратить фрейм данных в список, но была выдана та же ошибка , Возможно, в коде есть какая-то ошибка, которую я не вижу, и я новичок в 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