Я работаю над сценарием для преобразования файла данных из одного формата в другой. Мне нужно удалить специальные символы из заголовков столбцов.
Я использую Pandas для чтения файла CSV со структурой ниже. Я ищу аккуратный способ удалить [единицы] из имени столбца.
Файл данных:
Date ,Time ,app1_sum [Ml] ,app1_q [l/s] ,app1_h [m] ,app1_a [m²] ,app1_v [m/s] ,app1_t_water [°C]
02.10.2024 ,19:05:00 ,57293.336 ,620.78 ,0.436 ,0.586 ,1.059 ,18.2
Моя цель — сократить имена столбцов до простейшей формы:
Date,Time,app1_sum,app1_q,app1_h,app1_a,app1_v,app1_t_water
Мой текущий подход заключается в том, чтобы сначала удалить скобки, а затем по одному удалять оставшиеся блоки.
df.columns = df.columns.str.replace('[', '')
df.columns = df.columns.str.replace(']', '')
df.columns = df.columns.str.replace(' Ml', '')
Я также пытался использовать регулярное выражение для удаления одной единицы за раз, это работает, но кажется неправильным.
df.rename(columns=lambda x: re.sub(r'\[Ml\]', '', x), inplace=True)
df.rename(columns=lambda x: re.sub(r'\[l/s\]', '', x), inplace=True)
df.rename(columns=lambda x: re.sub(r'\[m\]', '', x), inplace=True)
df.rename(columns=lambda x: re.sub(r'\[m²\]', '', x), inplace=True)
df.rename(columns=lambda x: re.sub(r'\[m/s\]', '', x), inplace=True)
df.rename(columns=lambda x: re.sub(r'\[°C\]', '', x), inplace=True)
Подробнее здесь: https://stackoverflow.com/questions/790 ... ith-python