Я использую ниже линии, чтобы прочитать файл CSV, где столбец B заканчивается в формате ул и я не удается преобразовать его плавать непосредственно:как преобразовать ул плавать в панд dataframe
df = pd.read_csv('data.csv', sep=";", encoding = "ISO-8859-1")
это производит dataframe, где все столбцы в формате ул:
A B
0 Emma -20,50
1 Filo -15,75
2 Theo 17,23
Как вы можете заметить, что десятичные отделены друг от друга «» вместо «» потому что это немецкий csv. Я попробовал следующее уже (но безрезультатно):
..., dtype={'B': np.float32}, decimal= ',' , ....
Любая идея, как я мог бы сделать это в процессе чтения?
внесении изменений и дополнений после прочтения CSV работает (но это неэффективный дополнительный шаг, который я хотел бы избежать), это то, что я использую:
df['B'] = df['B'].str.replace(',', '.').astype(float)
спасибо за быстрый ответ, но для меня это все еще не работает. Я нахожу это очень странным. –
Редактировать тоже не работает? – jezrael
нет, это не проблема. все десятичные числа действительно являются «,». Но есть некоторые 0 значений (так что нет десятичной) и некоторые NaN. –