如何使用Python Pandas实现列表列元素与其他列值拼接生成新列
实现方案
你可以通过以下两种方式实现需求:
方法1:pandas apply实现(可读性高)
直接按行遍历DataFrame,对每行的ColumnA列表元素逐一拼接ColumnB的值:
import pandas as pd # 构造示例输入数据 df = pd.DataFrame({ 'ColumnA': [['x', 'y', 'z'], ['x', 'y']], 'ColumnB': ['Failed', 'Passed'] }) # 生成目标列ColumnC df['ColumnC'] = df.apply( lambda row: [f"{item}:{row['ColumnB']}" for item in row['ColumnA']], axis=1 ) print(df)
运行后即可输出你需要的结果。
方法2:列表推导式实现(性能更高)
如果处理的数据集行数较多,用原生Python列表推导式可以避开pandas apply的额外开销,运行速度更快:
df['ColumnC'] = [[f"{item}:{b}" for item in a] for a, b in zip(df['ColumnA'], df['ColumnB'])]
内容的提问来源于stack exchange,提问作者APPARLA PRAMOD
相关产品推荐
相关产品推荐

