pandas .read_csv превращает строки в «числа» в научной c нотации (чего я не хочу) - PullRequest
0 голосов
/ 18 июня 2020

У меня есть набор данных, в котором некоторые из идентификаторов образцов (найденных в столбце индекса) можно интерпретировать как числа. Примеры: 20010104123140E5 и 2001010412314529. Я пытаюсь указать, что столбец индекса имеет строку типа, но pandas .read_csv настаивает на превращении идентификаторов в числа с плавающей запятой. См. Пример ниже.

Кто-нибудь знает, как я могу это обойти? Или я тут что-то не так делаю?

import pandas as pd

with open('test.data', mode = 'w') as infile: 
    infile.write('id\tval\n20010104123140E5\t1\n2001010412314529\t2')

df = pd.read_csv('test.data', dtype = {'id':'str', 'val':'float'}, sep='\t', index_col='id')
print(df)

1 Ответ

1 голос
/ 18 июня 2020

Используйте df.index = df.index.astype (str)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...