代码之家  ›  专栏  ›  技术社区  ›  mallet

在sum()之后的字符串之间添加空格

  •  1
  • mallet  · 技术社区  · 9 年前

    假设我有以下熊猫数据帧:

    >>> data = pd.DataFrame({ 'X':['a','b'], 'Y':['c','d'], 'Z':['e','f']})  
       X Y Z
     0 a c e
     1 b d f
    

    0    a c e
    1    b d f
    

    当我运行以下代码时,我得到:

    >>> data.sum(axis=1)
    0    ace
    1    bdf
    

    那么,如何添加字符串列,并在它们之间留有空格呢?

    2 回复  |  直到 9 年前
        1
  •  4
  •   jezrael    9 年前

    使用 apply 每行 axis=1 join :

    a = data.apply(' '.join, axis=1)
    print (a)
    0    a c e
    1    b d f
    dtype: object
    

    add 空间, sum 最后一个 str.rstrip

    a = data.add(' ').sum(axis=1).str.rstrip()
    #same as
    #a = (data + ' ').sum(axis=1).str.rstrip()
    print (a)
    0    a c e
    1    b d f
    dtype: object
    
        2
  •  1
  •   DavidK    9 年前

    您可以执行以下操作:

    data.apply(lambda x:x + ' ').sum(axis=1)
    

    0    a c e 
    1    b d f 
    dtype: object