#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