我的DataFrame包含嵌套列表。我想将第一个和最后一个元素保留在子列表中,然后使列表变平。例如:
df1=pd.DataFrame({'names':[[['harry','james','potter'],['Albus','Dumbledore']],[['Peter','D.','Griffin'],['some','nice','string']]]})
df
,输出应该像这样
0 ['Harry Potter','Albus Dumbledore']
1 ['Peter Griffin','some string']
由于我是新手,所以我对双重循环有点挑战
答案 0 :(得分:3)
您甚至可以在创建数据框后执行此操作:
df['names'] = df.names.apply(lambda x: [ ' '.join([i[0],i[-1]]) for i in x] )
答案 1 :(得分:2)
使用这一行:-
df1["names"] = [[j[0] + " " + j[-1] for j in i] for i in df1["names"]]
输出
names
0 [harry potter, Albus Dumbledore]
1 [Peter Griffin, some string]