Python 熊猫-连接两列字符串列表

Python 熊猫-连接两列字符串列表,python,string,pandas,list,concat,Python,String,Pandas,List,Concat,我有一个。。来自数据库的有趣的数据帧。数据框有两列,它们是字符串列表。我需要将这两个列表中的值合并,以创建列表的新列。例如: data = [ {'id': 1, 'l1': ['Luke', 'Han'], 'l2': ['Skywalker', 'Solo']}, {'id': 2, 'l1': ['Darth', 'Kylo'], 'l2': ['Vader', 'Ren']}, {'id': 3, 'l1': [], 'l2': []} ]

我有一个。。来自数据库的有趣的数据帧。数据框有两列,它们是字符串列表。我需要将这两个列表中的值合并,以创建列表的新列。例如:

data = [ 
    {'id': 1, 'l1': ['Luke', 'Han'], 'l2': ['Skywalker', 'Solo']}, 
    {'id': 2, 'l1': ['Darth', 'Kylo'], 'l2': ['Vader', 'Ren']},
    {'id': 3, 'l1': [], 'l2': []}
]                                                                                                                                                                
df = pd.DataFrame(data)   
请注意,第三行没有值。您还可以假设
l1
l2
的长度相同。 我需要将l1和l2中的值合并(中间有空格),例如:


您可以使用
dict comprehension
''。将
zip
结合使用来迭代数据集,例如:

将熊猫作为pd导入
数据=[
{'id':1,'l1':['Luke','Han','l2':['Skywalker','Solo']},
{'id':2,'l1':['Darth','Kylo','l2':['Vader','Ren']},
{'id':3,'l1':[],'l2':[]
]                                                                                                                                                                
df=pd.DataFrame(数据)
结果=[
{
“id”:行['id'],
'name':[''.join(l1_l2)在zip中表示l1_l2(行['l1'],行['l2'])]
}对于数据中的行
]
打印(pd.数据帧(结果))
>>>
身份证名称
01[卢克·天行者,汉·索洛]
12[达斯·维德,基洛·伦]
2   3                          []

这应该可以让您到达您想要的位置:假设您只有两列(如果您有更多列,只需添加其中一列“+df.iloc[j,3&或4&或…][i])


“名称”列的元素始终是两个字符串的列表还是空列表?否。。元素可以是任意长度的列表(尽管
l1
l2
保证长度相同)
result = [
    {'id': 1, 'name': ['Luke Skywalker', 'Han Solo']},
    {'id': 2, 'name': ['Darth Vader', 'Kylo Ren']},
    {'id': 3, 'name': []}
]
result_df = pd.DataFrame(result)
Voila =[]
for j in range(len(df)):
    Voila.append([df.iloc[j,1][i]+ ' '+df.iloc[j,2][i] for i in range(len(df. 
                                                                loc[j,'l1']))])
df['Voila'] = Voila