Как добавить два столбца из csv-файла в список?

#python #pandas #dataframe #loops #append

Вопрос:

Мой код таков —

 df=pd.read_csv("file path")
l1=[]
l2=[]
for i in range(0,len(df['unions']),len(df['district'])):
    l1.append((df['unions'][i], df['district'][i]))
    l2.append(({"entities": [(0,len(df['unions'][i]),df['subdistrict'][i])]}))

TRAIN_DATA=list(zip(l1,l2))
print(TRAIN_DATA)
 

Результат, который я получил — [(('Dhansagar', 'Bagerhat'), {'entities': [(0, 9, 'Sarankhola')]})]

Но я хочу получить результат именно в таком формате —

 [(('Dhansagar Bagerhat'), {'entities': [(0, 9, 'Sarankhola')]})]
 

В принципе, никакой запятой между Дхансагар Багерхат. Как мне это сделать? Кроме того, почему я получаю только один результат? Похоже, мой цикл не работает.

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

1. Что-то вроде l1.append((df['unions'][i] " " df['district'][i],)) ?

2. Не могли бы вы, пожалуйста, предоставить некоторые примеры данных и ваш ожидаемый результат?

Ответ №1:

Вместо:

     l1.append((df['unions'][i], df['district'][i]))
 

Попробуй:

     l1.append(' '.join((df['unions'][i], df['district'][i])))
 

Или:

     l1.append((df['unions'][i]   " "   df['district'][i]))
 

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

1. Спасибо! Это сработало идеально. Но при печати TRAIN_DATA я получаю только одно значение. Почему мой цикл не работает для всех значений в столбце?