Строка, соответствующая каждому значению lat и lng, может быть легко создана с помощью панд , применяется метод в сочетании с форматированием строки .
Первым шагом является определение функции, которая задает строку, генерирует желаемую строку:
def coord_formatter(row):
return '&markers=size:mid%7Ccolor:0x0000b3%7Clabel:G%7C{:.6f}+{:.6f}'.format(row['lat'],row['lng'])
Это в основном заменяет row['lat']
на позицию в строке, где есть {:.6f}
, отформатированный как 6 десятичных знаков с плавающей точкой, и lng ко второму.
Затем можно создать новый столбец:
df['string'] = df.apply(coord_formatter,axis=1)
# Output df
# lat lng string
# 0 -33.859485 151.208584 &markers=size:mid%7Ccolor:0x0000b3%7Clabel:G%7...
# 1 -33.868370 151.207141 &markers=size:mid%7Ccolor:0x0000b3%7Clabel:G%7...
# 2 -33.861735 151.210873 &markers=size:mid%7Ccolor:0x0000b3%7Clabel:G%7...
Или создать одну строку:
output = '\n'.join(df.apply(coord_formatter,axis=1))
# print(output) produces
# &markers=size:mid%7Ccolor:0x0000b3%7Clabel:G%7C-33.859485+151.208584
# &markers=size:mid%7Ccolor:0x0000b3%7Clabel:G%7C-33.868370+151.207141
# &markers=size:mid%7Ccolor:0x0000b3%7Clabel:G%7C-33.861735+151.210873
Теперь каждая строка координат разделена линией разрыва между ними, чтобы иметь одну строку, где все они просто объединены, вместо этого можно использовать ''.join(...
.