Python 组合柱
我试图在df中合并两列,但在两个值之间保留一个空格 对于下面的df,我可以通过以下方式组合它们Python 组合柱,python,pandas,merge,Python,Pandas,Merge,我试图在df中合并两列,但在两个值之间保留一个空格 对于下面的df,我可以通过以下方式组合它们 d = ({ 'A' : ['Foo','Bar','Foo'], 'B' : ['A','B','C'], }) df = pd.DataFrame(data=d) df["Com"] = df["A"].map(str) + df["B"] 输出: A B Com 0 Foo A FooA 1 Bar B BarB 2 Foo
d = ({
'A' : ['Foo','Bar','Foo'],
'B' : ['A','B','C'],
})
df = pd.DataFrame(data=d)
df["Com"] = df["A"].map(str) + df["B"]
输出:
A B Com
0 Foo A FooA
1 Bar B BarB
2 Foo C FooC
但我想在两者之间留一个空间。因此,预期输出为:
A B Com
0 Foo A Foo A
1 Bar B Bar B
2 Foo C Foo C
您可以添加带有空格的新字符串:
df["Com"] = df["A"].map(str) + ' ' + df["B"]
print (df)
A B Com
0 Foo A Foo A
1 Bar B Bar B
2 Foo C Foo C
Python 3.6解决方案:
df["Com"] = [f'{i} {j}' for i, j in zip(df["A"], df["B"])]
print (df)
A B Com
0 Foo A Foo A
1 Bar B Bar B
2 Foo C Foo C
df["Com"] = ['{} {}'.format(i, j) for i, j in zip(df["A"], df["B"])]
Python 3解决方案:
df["Com"] = [f'{i} {j}' for i, j in zip(df["A"], df["B"])]
print (df)
A B Com
0 Foo A Foo A
1 Bar B Bar B
2 Foo C Foo C
df["Com"] = ['{} {}'.format(i, j) for i, j in zip(df["A"], df["B"])]
只需对DataFrame使用apply函数
df['Com'] = df.apply(lambda x: x['A']+' '+x['B'], axis=1)
df
Out[25]:
A B Com
0 Foo A Foo A
1 Bar B Bar B
2 Foo C Foo C
我认为你可以简单地通过
df['Com']=df['A'] + ' ' + df['B']
python足够聪明