Как сохранить обработанную в цикле таблицу в этой же таблице?
У меня есть 28 датасетов, у каждого из которых нужно удалить столбцы с пропусками, переименовать столбцы, преобразовать числа записанные в object в float ну и умножить на 100. Проблема в том, что я создал функцию, в которой я выполнил вышеописанные действия и хочу пройтись циклом по списку dictinary, где хранятся все датасетов, но когда я выполняю цикл, новая таблица не сохраняется. Сам цикл работает, но на выход я получаю старую таблицу. Помогите пожалуйста, а то я уже 3 час сижу на этом.
пример датасета:http://www.minfin74.ru/opendata/7453136570-DeficiencyBudgetsMunicipalities/data-13-structure-1.csv
и еще: http://www.minfin74.ru/opendata/7453136570-DeficiencyBudgetsMunicipalities/data-4-structure-1.csv
def form(i):
i = i.dropna(axis = 1)
i.columns = ["id","name","money"]
i["money"] = i["money"].str.replace(" ","")
i["money"] = i["money"].apply(lambda x: float(x.split()[0].replace(",",".")))
i["money"] = i["money"] * 1000
return i
#dataa = form(data_14_3)
for data in dictinary:
data = form(data)
#print(dataa)
#print(data_14_4)
Ответы (2 шт):
Попробуйте читать данные так - тогда может не понадобится писать медленные функции:
df = pd.read_csv("data-13-structure-1.csv", sep=";",
encoding="cp1251", thousands=" ", decimal=",")
результат:
In [113]: df
Out[113]:
N Наименование муниципального образования Дефицит / профицит (тыс. рублей)
0 1 Верхнеуфалейский -37967.47000
1 2 Златоустовский -41032.43000
2 3 Карабашский 4500.26000
3 4 Копейский 73151.82000
4 5 Кыштымский -35021.72000