У меня есть фрейм данных под названием la_crime_refined
, который выглядит следующим образом:
DR_NO AREA NAME LOCATION LAT LON
0 10304468 Southwest 1100 W 39TH PL 34.0141 -118.2978
1 190101086 Central 700 S HILL ST 34.0459 -118.2545
2 201418201 Pacific 4700 LA VILLA MARINA 33.9813 -118.4350
3 191501505 N Hollywood 5400 CORTEEN PL 34.1685 -118.4019
4 191921269 Mission 14400 TITUS ST 34.2198 -118.4468
Я хочу создать словарь, включающий широту и долготу с уникальным ключом: index. Я пробовал это:
crime_cord = la_crime_refined[['LAT','LON']].to_dict(orient='index')
Однако он возвращает имена ключей «LAT» и «LON» для каждой записи в словаре.
{0:{'LAT':34.0141,'LON',-118.2978},1:{...}...}
Есть ли способ получить такой вывод:
{0:(34.0141,-118.2978),1:(...)...}
Спасибо!
3 ответа
Если вы не возражаете сделать дополнительный шаг, вы можете просто перебрать словарь, полученный с помощью to_dict
- метода:
res = {}
for k, v in la_crime_refined[['LAT','LON']].to_dict(orient='index').items():
res[k] = (v['LAT'], v['LON'])
В качестве альтернативы вы можете перебирать строки фрейма данных (цикл или понимание dict), например
res = {idx: (row['LAT'], row['LON']) for idx, row in la_crime_refined.iterrows()}
Поскольку у вас уже есть формат в {'LAT' = X, 'LON' = Y}, самым простым способом может быть просто использовать его в качестве основы для создания желаемого формата:
old_format = {0:{'LAT':34.0141,'LON':-118.2978}, 1:{'LAT':50.0141,'LON':-120.2978}, 2:{'LAT':60,'LON':-130}}
print(old_format)
new_format = {}
for key in old_format.keys():
new_format[key] = (old_format[key]['LAT'], old_format[key]['LON'])
print(new_format)
Попробуйте понимание словаря:
{k: tuple(v.values()) for k, v in crime_cord.items()}
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.