Не могу прочитать glove.6B.300d.txt в кадре данных панд - PullRequest
1 голос
/ 01 мая 2019

Я пытаюсь прочитать файл glove.6B.300d.txt в кадре данных Pandas. (Файл можно скачать здесь: https://github.com/stanfordnlp/GloVe)

Вот исключения, которые я получаю:

glove = pd.read_csv(filename, sep = ' ')
ParserError: Error tokenizing data. C error: EOF inside string starting at line 8

glove = pd.read_csv(filename, sep = ' ', engine = 'python')
ParserError: field larger than field limit (131072)

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

пример кода для загрузки перчаток.

def load_glove_index():
    EMBEDDING_FILE = '../input/embeddings/glove.840B.300d/glove.840B.300d.txt'
    def get_coefs(word,*arr): return word, np.asarray(arr, dtype='float32')[:300]
    embeddings_index = dict(get_coefs(*o.split(" ")) for o in open(EMBEDDING_FILE))
    return embeddings_index

glove_embedding_index = load_glove_index()
0 голосов
/ 01 мая 2019

Я предлагаю вам прочитать файл перчатки в словарь. Удобнее и эффективнее использовать это предварительно обученное вложение.

embeddings_index = {}
f = open(os.path.join(filename), encoding='utf8')
for line in f:
    values = line.split()
    word = values[0]
    coefs = np.asarray(values[1:], dtype='float32')
    embeddings_index[word] = coefs
f.close()

Если вашей задаче нужна версия информационного кадра, вы можете преобразовать ее в информационный кадр, выполнив итерацию ключа val в словаре.

...