Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用分隔符连接数据帧的列_Python_Python 3.x_Pandas - Fatal编程技术网

Python 用分隔符连接数据帧的列

Python 用分隔符连接数据帧的列,python,python-3.x,pandas,Python,Python 3.x,Pandas,我以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='

我以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
。由于测试原因,我无法更新版本

编辑:
我不是在寻找替代答案,但担心的是错误。

我能够在
pandas'0.21.1'
中重现此错误,但它似乎是一个错误(@Wen指出的错误现在已在
pandas'0.23.4
中修复)。不管怎样,您似乎可以通过使用
df[[['State','City']]值来绕过它,而不仅仅是
df[['State','City']]
,即通过提供
np.array
而不是数据帧(这不是正常的行为,因为您可以将状态传递给它一个数据帧):


无法在0.23.4中复制。对我来说很好预期的输出是什么?您是否正在寻找df[['Country','State','City']]。apply('-'.join,axis=1)?是的,这是使用给定分隔符连接列,但我更关心的是错误,而不是替代方法。我认为他们在版本0.23.4中解决了问题。这可能有助于使用旧版本pandas的用户重新打开它+1.
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