Я пытаюсь сделать что-то чрезвычайно простое, но я довольно плохо знаком с pandas, и я не могу решить это. Я загружаю CSV с несколькими столбцами:
- идентификатор
- номер дома
- улица
- город
- почтовый индекс
Мне нужно вывести то же самое, но номер дома, улица и город должны быть объединены в один адресный столбец, то есть я выведу:
- id
- address
- почтовый индекс
Мои номера домов составляют целых чисел в CSV , но по какой-то причине, когда я загружаю его в pandas, он преобразует столбец в строку (некоторые значения отсутствуют, это понятно). Мне кажется, что при экспорте или печати числа не могут быть целыми числами, pandas автоматически добавляет к ним десятичную дробь , что невероятно раздражает и бесполезно. Мой адрес становится 33.0 Улица, Город. Что я делаю не так?
import pandas as pd
csv = 'C:\\test\\input.csv'
read = pd.read_csv(csv)
cols = ['id', 'address', 'postcode']
subset = [read['id'], read['house_number'].map(str) + ' ' + read['street'].map(str) + ' ' + read['town'].map(str), read['postcode']]
data = pd.concat(subset, axis=1, keys=cols)
display(data)
data.to_csv('C:\\test\\output.csv')
Любой совет, как сделать так, чтобы эти номера домов оставались номерами домов? Я даже не понимаю, почему pandas добавляет десятичную дробь, если тип столбца автоматически строковый, а не что-либо числовое c.
Спасибо