首页 > 解决方案 > Pandas - 与数组列的字符串连接

问题描述

我正在尝试从我的数据框中的两列创建一个新字符串。我的一列包含 1 个值。另一列包含一个数组。最终结果应该类似于下面的第三列。

  Alpha  Val                Result
0   A    ['1, 2, 3']    ['A1', 'A2', 'A3']

我尝试过列表理解,但它只返回一个错误“只能将 str(不是“list”)连接到 str”

[alpha + val for alpha in df['Alpha'].str.split(",") for val in df['Val'].str.split(",")]

这有点像一个 1X1 矩阵和一个 1X3 矩阵(但连接字符串),但我不知道如何使用 pandas 来实现这一点。

标签: pythonpandas

解决方案


import pandas as pd

df = pd.DataFrame({'Alpha':['A', 'B'],
                  'Val':[['1, 2, 3'], ['4, 5, 6, 7']]})

def newlist(A,B):
    return [A + i.strip() for i in B[0].split(',')]

df['Result'] = df.apply(lambda x: newlist(x.Alpha, x.Val), axis=1)


推荐阅读