Как удалить квадратную скобку из столбца фрейма данных?

#python #pandas #dataframe

Вопрос:

У меня есть фрейм данных, в котором один столбец содержит список значений, как удалить список?

Входной кадр данных:

введите описание изображения здесь

Результат должен быть:

введите описание изображения здесь

Комментарии:

1. вы можете преобразовать его в строку, а затем отформатировать так, как вам нравится, но я не уверен, что это лучший способ

2. вы могли бы добавить более описательное название? «Снятие квадратных скобок» — не самое идеальное описание? вы уже знаете, что хотите превратить список в строку, содержащую только содержимое списка

Ответ №1:

Используйте пользовательскую лямбда-функцию с if-else для объединения значений списков, преобразованных в строки:

 df = pd.DataFrame({'Column1':['data1','data2','data3'],  'Column2':[['a','b','c'], 20, [14,35,50,20]]})  print (df)  Column1 Column2 0 data1 [a, b, c] 1 data2 20 2 data3 [14, 35, 50, 20]  f = lambda x: ','.join(map(str, x)) if isinstance(x, list) else x df['Column2'] = df['Column2'].apply(f) print (df)  Column1 Column2 0 data1 a,b,c 1 data2 20 2 data3 14,35,50,20