Конкатенация столбцов данных с разделителем - PullRequest
0 голосов
/ 30 октября 2018

Я слежу за этим ответом с 88 ответами, но это больше не работает:

>>> df = pd.DataFrame(
     [['USA', 'Nevada', 'Las Vegas'],
      ['Brazil', 'Pernambuco', 'Recife']],
     columns=['Country', 'State', 'City']
 )
df['AllTogether'] = df['Country'].str.cat(df[['State', 'City']], sep=' - ')

Я получаю ошибку:

    raise ValueError("Did you mean to supply a `sep` keyword?")
ValueError: Did you mean to supply a `sep` keyword?

Не уверен, что изменилось после опубликованного ответа.

У меня есть версия для панд 0.22.0. Я не могу обновить версию по причинам теста.

Edit: Я не ищу альтернативного ответа, но проблема связана с ошибкой.

1 Ответ

0 голосов
/ 30 октября 2018

Мне удалось воспроизвести эту ошибку в pandas '0.21.1', но, похоже, это ошибка (которая, как указал @Wen, теперь исправлена ​​в pandas 0.23.4). Несмотря на это, вы, кажется, сможете обойти это, используя df[['State', 'City']].values вместо df[['State', 'City']], , то есть , предоставив np.array вместо фрейма данных (что не является нормальным поведением, поскольку docs заявляет, что вы можете передать ему фрейм данных):

df['AllTogether'] = df['Country'].str.cat(df[['State','City']].values,sep=' - ')
>>> df
  Country       State       City                  AllTogether
0     USA      Nevada  Las Vegas    USA - Nevada - Pernambuco
1  Brazil  Pernambuco     Recife  Brazil - Las Vegas - Recife
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...