如何基于pandas dataframe按指定格式批量生成对应语句
实现方法
你可以通过两种常用方式实现需求,同时支持生成英文和对应中文格式的语句:
方法1:apply逐行处理(代码易读,适合小数据量)
import pandas as pd # 构造你的示例DataFrame df = pd.DataFrame({ "A": ["Joe", "Raul", "James"], "B": [20, 22, 30] }) # 生成英文格式语句 df["en_sent"] = df.apply(lambda x: f"Mark of {x['A']} is {x['B']}", axis=1) # 生成中文格式语句 df["cn_sent"] = df.apply(lambda x: f"{x['A']}的分数是{x['B']}", axis=1)
方法2:向量化拼接(性能更高,适合十万行以上的大数据集)
# 英文格式 df["en_sent"] = "Mark of " + df["A"] + " is " + df["B"].astype(str) # 中文格式 df["cn_sent"] = df["A"] + "的分数是" + df["B"].astype(str)
输出结果
如果需要打印所有生成的语句,直接遍历对应列即可:
# 打印英文结果 for line in df["en_sent"]: print(line) # 打印中文结果 for line in df["cn_sent"]: print(line)
输出的中文结果为:
Joe的分数是20 Raul的分数是22 James的分数是30
内容的提问来源于stack exchange,提问作者Aniiya0978
相关产品推荐
相关产品推荐

