假设我有以下pandas数据帧:
>>> 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
那么如何在它们之间添加空格的字符串列呢?
答案 0 :(得分:4)
axis=1
和join
每行使用apply
:
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
答案 1 :(得分:1)
您可以执行以下操作:
data.apply(lambda x:x + ' ').sum(axis=1)
输出结果为:
0 a c e
1 b d f
dtype: object