У меня есть несколько CSV-файлов с одним и тем же типом данных, которые должны быть объединены в строках для формирования одного фрейма данных, но некоторые имена строк содержат грязные данные.
Например, '.'в конце фактического имени.Я попробовал следующий код -
for file in all_files:
temp = pd.read_csv(file, encoding = "unicode_escape")
temp = temp[['S.No.', 'Item', '2014-15']]
state = lambda x: x.split('-')
temp.rename(columns = {'2014-15':state(file)[1]}, inplace= True)
if file == all_files[0]:
all_states = temp.copy(deep=True)
else:
temp["Item"] = temp["Item"].str.replace("*", "")
all_states = pd.merge(all_states, temp, how = 'outer', on = ['S.No.', 'Item'])
del temp
Вывод, который я получаю, -
S.No.1 1,1 1,2 1,3.,.
1.1.-> Нужно избавиться от них и считать их 1.1
Загрязненным S.No.формирует новую строку для одного столбца.Мне нужно, чтобы он был в тех же строках, что и другие.
Я просто хочу последний '.'в конце строки, которую нужно удалить, и не все.
Я попробовал следующее для очистки S.No.:
temp["S.No."] = temp["S.No."].str.rstrip(".")
temp["S.No."] = temp["S.No."].str.replace(".$", "")
temp["S.No."] = re.sub(r".$", "", str(temp["S.No."]))
Но ни один из них не работает.
Заголовки: ![enter image description here](https://i.stack.imgur.com/wC2FJ.png)
Грязные ряды: ![enter image description here](https://i.stack.imgur.com/EOoW0.png)