如何在Pandas DataFrame中合并文本与字段生成新列?
直接实现固定文本+列值拼接的方法
在Pandas里完全不需要新增中间列,直接通过向量化字符串拼接就能一步生成目标列,分两种情况处理:
1. 当原列是字符串类型时
如果column_name1本身就是字符串格式,直接用加号拼接固定文本和列即可:
DF["column_name2"] = "MN-" + DF["column_name1"]
2. 当原列是数值类型时
如果column_name1是整数/浮点数类型,需要先把它转换成字符串再拼接:
DF["column_name2"] = "MN-" + DF["column_name1"].astype(str)
示例演示
比如构造你的示例DataFrame:
import pandas as pd DF = pd.DataFrame({"column_name1": [1, 2, 3]}) # 生成目标列 DF["column_name2"] = "MN-" + DF["column_name1"].astype(str)
运行后得到的结果就是:
| column_name1 | column_name2 |
|---|---|
| 1 | MN-1 |
| 2 | MN-2 |
| 3 | MN-3 |
备选方法(适合复杂格式)
如果需要更复杂的字符串格式化(比如补零、小数位数控制),可以用apply结合f-string:
DF["column_name2"] = DF["column_name1"].apply(lambda x: f"MN-{x:02d}") # 这样会生成 MN-01、MN-02 这种格式
不过注意:向量化拼接(前面的加号方法)比apply效率更高,处理大数据量时优先选择前者。
内容的提问来源于stack exchange,提问作者Steve Robinson
相关产品推荐
相关产品推荐

