python - 组合列 Pandas df
问题描述
我正在尝试在 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 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
Python 3 解决方案:
df["Com"] = ['{} {}'.format(i, j) for i, j in zip(df["A"], df["B"])]
推荐阅读
- unity3d - 我的 Unity 场景打开为地形的白色棋盘图像
- android - 如何修复 Android SQLITE_ERROR,错误代码 1
- bash - 如何在 bash 中使用/调用另一个函数中的变量
- uitabbarcontroller - 关闭imagePickerController后,如何返回当前选项卡而不是默认选项卡
- android - 改造时出现 java.lang.IllegalArgumentException 错误
- postgresql - 两种不同形式的数据库连接字符串
- sql-server - 为什么我需要升级 SSIS 包?
- ruby-on-rails - 嵌套表单 gem 适用于添加,但不适用于 rails 4 中的删除
- jmeter - 比较 jmeter 中两个记录控制器的结果并将结果反映在一张纸上
- java - Java锁定静态和非静态方法?