Как эффективно обрабатывать европейские десятичные разделители с помощью функции pandas read _csv?

Я использую read_csvдля чтения файлов CSV во фреймы данных Pandas. Мои файлы CSV содержат большое количество десятичных знаков/поплавков. Числа закодированы с использованием европейской десятичной системы счисления :

1.234.456,78

. Это означает, что '.' используется как разделитель тысяч, а «,» — десятичный знак.

Панды 0.8. предоставляет аргумент read_csvпод названием «тысячи» для установки разделителя тысяч. Есть ли дополнительный аргумент для предоставления десятичного знака? Если нет, то каков наиболее эффективный способ анализа десятичного числа в европейском стиле?

В настоящее время я использую замену строки, которую считаю значительным снижением производительности. Кодировка, которую я использую, такова:

# Convert to float data type and change decimal point from ',' to '.'
f = lambda x: string.replace(x, u',', u'.')
df['MyColumn'] = df['MyColumn'].map(f)

Любая помощь приветствуется.

5
задан craigcaulfield 14 October 2019 в 02:13
поделиться