я хочу объединить элемент, который находится в формате списка в фрейме данных
У меня есть фрейм данных ниже, когда я печатаю DataFrame.head (), он показывает ниже
A B
1 [1,2,3,4]
2 [5,6,7,8]
Ожидайте результат (преобразуйте его из списка в строку, разделенную запятыми)
A B
1 1,2,3,4
2 5,6,7,8






Вы могли:
import pandas as pd
data = [[1, [1,2,3,4]],
[2, [5,6,7,8]]]
df = pd.DataFrame(data=data, columns=['A', 'B'])
df['B'] = [','.join(map(str, lst)) for lst in df.B]
print(df.head(2))
Вывод
A B
0 1 1,2,3,4
1 2 5,6,7,8
df = pd.DataFrame([['1',[1,2,3,4]],['2',[5,6,7,8]]], columns=list('AB'))
общий способ преобразования списков в строки. в вашем примере ваш список имеет тип int, но это может быть любой тип, который может быть представлен в виде строки для объединения элементов в списке с помощью ','.join(map(str, a_list)). Затем просто перебирайте строки в конкретном столбце, который содержит списки, которые вы хотите присоединиться
for i, row in df.iterrows():
df.loc[i,'B'] = ','.join(map(str, row['B']))
Для этого вы можете использовать методы map или apply:
import pandas as pd
data = [[1, [1,2,3,4]],
[2, [5,6,7,8]]]
df = pd.DataFrame(data=data, columns=['A', 'B'])
df['B'] = df['B'].map(lambda x: ",".join(map(str,x)))
# or
# df['B'] = df['B'].apply(lambda x: ",".join(map(str,x)))
print(df.head(2))