В качестве Альтернативного подхода:
вы также можете заменить полный аппенд, вызывая эту строку кода:
df.loc[len(df), :] = [state, region]
Этот шоудл также работает как он добавляет обе переменные, которые вы извлекли в виде списка, в конец кадра данных.
Причина проблемы:
Проблема заключается в том, что при вашем подходе к созданию нового кадра данных на каждой итерации df.append(pd.DataFrame())
в том, что у вновь созданного df отсутствуют имена столбцов исходного df
Не могли бы вы попытаться указать метки столбцов, как это в вашем коде? Как это:
df = df.append(pd.DataFrame([state, region], columns=('State','Region')),ignore_index=True)
Вы также можете создавать списки, называемые штатами и регионами, и добавлять все данные в эти списки.
После анализа всего текстового файла просто создайте кадр данных с данными, полученными при разборе текстового файла
df=pd.DataFrame([state,region], columns=('State','Region'))
Или назначьте список столбцам, вызвав
df.loc[:,'State'] = state
df.loc[:,'Region'] = region