В приведенном ниже коде я использую простую манипуляцию данными для разделения столбцов и удаления ненужных символов.
input_uni_towns = pd.read_fwf("university_towns.txt", sep = " ", header = None)
uni_towns = input_uni_towns.rename(columns={0: "Raw_data"})
uni_towns['Cleaned'] = uni_towns["Raw_data"].replace(regex=True,to_replace=[r'\[[^()]*\]'],value=r'')
uni_towns[["State","University"]] = uni_towns.Cleaned.str.split("(",n=1,expand=True)
uni_towns["University"] = uni_towns["University"].str.rstrip(')')
cleaned_uni_towns = uni_towns[["State","University"]]
После этого шага выше я хочу назначить State для записей, чья запись выше имеет Noneназначен на это. Например, текущим состоянием Оберн (Университет Оберн) является Оберн, но я хочу, чтобы это было обновлено до Алабамы и аналогично для записей ниже Алабамы, пока код не встретит следующее государство, то есть Аляска
Это текущий вывод
Это ожидаемый результат