我有一个迭代列表列表的函数。如果它找到了值,这是一个列表本身,它应该从这个值创建一个字符串并插入它而不是原始的字符串:
def lst_to_str(lst):
for x in lst:
for y in x:
i = 0
if type(y) == list:
x[i] = ",".join(y)
i +=1
return lst
问题是,当我将此函数应用于pd.DataFrame列
时df['pdns'] = df['pdns'].apply(lambda x: lst_to_str(x))
它返回原始的嵌套列表:
[['a', 'b', 'c', 'd'], ['a1', 'b1', 'd1', 'c1'],['a2', 'b2', 'c2', ['d2_1', 'd2_2']]]
而不是:
[['a', 'b', 'c', 'd'], ['a1', 'b1', 'd1', 'c1'],['a2', 'b2', 'c2', 'd2_1, d2_2']]
答案 0 :(得分:0)
你的代码错了。在你的函数定义中,你没有对1st进行任何更改,最后你返回1st。您正在检查某些条件,然后更改计数器的值(x)。纠正此问题,然后重试