Ошибка Pandas DataFrame str.split(): должны иметь равные len-ключи и значение при настройке с помощью итеративного

#python #pandas #dataframe

#python #pandas #dataframe

Вопрос:

У меня есть ряд данных с именем university_towns . Использование pd.Фрейм данных, чтобы превратить его в фрейм данных:

 town_df = pd.DataFrame(university_towns,columns=['State','RegionName'])
  

Вывод:

 State         RegionName
Alabama       Auburn (Auburn University
Alabama       Florence (University of North Alabama
Alabama       Jacksonville (Jacksonville State University
Alabama       Livingston (University of West Alabama
Alabama       Montevallo (University of Montevallo
  

С помощью фрейма данных выше я пытаюсь разделить RegionName на регион и университет, используя приведенный ниже код:

 town_df[['Region','University']]= town_df['RegionName'].str.split('(',1).tolist()
  

он возвращает:

Ошибка ValueError: должны иметь равные len-ключи и значение при настройке с помощью iterable

Однако, когда я пытаюсь использовать приведенный ниже код, я получаю правильное разделение.

 town_df[['Region','University']]= pd.DataFrame(town_df['RegionName'].str.split('(',1).tolist())
  

Вывод:

 State     Region         University
Alabama   Auburn         Auburn University
Alabama   Florence       University of North Alabama
Alabama   Jacksonville   Jacksonville State University
Alabama   Livingston     University of West Alabama
Alabama   Montevallo     University of Montevallo
  

Единственное различие между этими 2 строками кода заключается в включении pd.DataFrame перед разделением, почему у меня есть add pd.DataFrame перед разделением.

Комментарии:

1. town_df[['Region','University']]= town_df['RegionName'].str.split('(', expand=True)

2. 1-й был списком со списками размера 2, 2-й, где вы превратили этот список списков в df.