首页 > 解决方案 > 如何从数据框创建字典,作为唯一键的索引?

问题描述

我有一个名为的数据框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

我想创建一个字典,包括具有唯一键的纬度和经度:索引。我试过这个:

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:(...)...}

谢谢!

标签: python

解决方案


如果您不介意采取额外的步骤,您可以简单地遍历从 - 方法返回的字典to_dict

res = {}
for k, v in la_crime_refined[['LAT','LON']].to_dict(orient='index').items():
    res[k] = (v['LAT'], v['LON'])

或者,您可以遍历数据帧的行(循环或字典理解),例如

res = {idx: (row['LAT'], row['LON']) for idx, row in la_crime_refined.iterrows()}

推荐阅读