#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 я получаю только одно значение. Почему мой цикл не работает для всех значений в столбце?