Непоследовательный вывод dtype read_csv панд о столбце с целочисленными строками в большом файле TSV

У меня есть разделенный табуляцией файл со столбцом, который должен интерпретироваться как строка, но многие записи являются целыми числами. Для небольших файлов read_csv правильно интерпретирует столбец как строку после просмотра некоторых нецелочисленных значений, но для больших файлов это не работает:

import pandas as pd
df = pd.DataFrame({'a':['1']*100000 + ['X']*100000 + ['1']*100000, 'b':['b']*300000})
df.to_csv('test', sep='\t', index=False, na_rep='NA')
df2 = pd.read_csv('test', sep='\t')
print df2['a'].unique()
for a in df2['a'][262140:262150]:
    print repr(a)

выход:

['1' 'X' 1]
'1'
'1'
'1'
'1'
1
1
1
1
1
1

Интересно, что 262144 - это степень 2, поэтому я думаю, что логический вывод и преобразование происходят кусками, но пропускают некоторые куски.

Я вполне уверен, что это ошибка, но хотел бы обойти, которая, возможно, использует кавычки, хотя добавление quoting = csv.QUOTE_NONNUMERIC для чтения и записи не решает проблему. В идеале я мог бы обойти это, цитируя свои строковые данные и каким-то образом заставляя панд не делать никаких выводов в цитируемых данных.

Использование панд 0.12.0

Ответы на вопрос(2)

Ваш ответ на вопрос