【发布时间】:2016-05-04 14:20:23
【问题描述】:
我觉得有一种非常直观的方法可以使用 for 循环来做到这一点,但我目前被卡住了。我得到了它的一部分,但用伪代码填充了其余部分。非常感谢您对此的帮助。
import pandas as pd
first_df= pd.read_csv('city_states.csv')
second_df = pd.read_csv('locations.csv);
for i in first_df[:,0]: #city column
for j in first_df[:,1] #state column
伪代码
if i == second_df[:1]: # state column in second data frame
and if j == second_df[:2]: # city column in second data frame
如果与制表符分隔的文本文件匹配,则写入经度和纬度
这就是我想要做的目前我正在尝试从一个 csv 生成经度和纬度,如果它包含在另一个 csv 中。也许是数据框。我正在寻找最佳选择
location.csv
zip state city lat lng
35004 AL Acmar 33.584132 -86.51557
35005 AL Adamsville 33.588437 -86.959727
35006 AL Adger 33.434277 -87.167455
35007 AL Keystone 33.236868 -86.812861
35010 AL New Site 32.941445 -85.951086
5014 AL Alpine 33.331165 -86.208934
35016 AL Arab 34.328339 -86.489638
如果城市和州与第二个 csv 的城市和州匹配。我们需要创建一个 txt 文件,其中长和纬度由制表符分隔,如上面的伪代码中所写。第一个数据框是指city_state.csv,第二个数据框是指locations.csv,其中包含我们尝试提取的经纬度(如果有匹配)
city_state.csv
City State
Burlington VT
Minneapolis MN
Bloomington IN
Irvine CA
预期输出
95.64652295 36.70384646
72.6535921 23.0519796
-86.2651028 43.222406
55.29835975 25.25033149
-117.87059452 34.11669299
-80.26491717 25.80180169
【问题讨论】: