为了账号安全,请及时绑定邮箱和手机立即绑定

python中的循环列表

python中的循环列表

一只甜甜圈 2021-09-14 13:56:33
我是 Python 的新手,但试图调用 Google 距离矩阵 API这就是我的数据框的样子将数据加载到数据框中data = pd.read_csv(input_filename, encoding ='utf8')我只需要一些帮助来循环列表。问题:它不断打印整个列表#Column name in your input datastart_latitude_name = "Start Latitude"start_longitude_name = "Start Longitude"end_latitude_name = "End Latitude"end_longitude_name = "End Longitude"start_latitude_names = data[start_latitude_name].tolist()end_latitude_names = data[end_latitude_name].tolist()start_longitude_names = data[start_longitude_name].tolist()end_longitude_names = data[end_longitude_name].tolist()for start_latitude_name in start_latitude_names:     origins = start_latitude_name, start_longitude_name    destinations = end_latitude_name, end_longitude_name    mode = "walking"    # Set up your distance matrix url    distancematrix_url = "*Omitted unnecessary parts*origins={0}&destinations={1}&mode={2}&language=en-EN&key={3}".format(origins, destinations, mode, API_KEY)    print(distancematrix_url)电流输出(来自每个回路)# Omitted unnecessary infoorigins=40.7614645,123.0,-73.9825913,456.0&destinations=40.65815,789.0,-73.98283,0.0预期输出(来自每个循环)origins=40.7614645,-73.9825913&destinations=40.65815,-73.98283我确定我没有正确循环它,但是我已经在几个帖子中尝试了答案,但它对我不起作用。我愿意接受更好的循环数据替代方案。随时纠正我。
查看完整描述

2 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

如果我理解正确,您可以矢量化此操作并使用坐标的字符串表示形式:


import pandas as pd


# Make pandas print entire strings without truncating them

pd.set_option("display.max_colwidth", -1)


# Create dummy-df from your example

df = pd.DataFrame({"start_latitude": [40.76, 123.00], "start_longitude": [-73.98, 456.00], "end_latitude": [40.65, 789.00], "end_longitude": [-73.98, 0.00]})

print df


# Set globals

mode = "walking"

API_KEY = "my_key"


# Create the url strings for each row

df["distance_matrix_url"] = "origins=" + df["start_latitude"].map(str) + "," + df["start_longitude"].map(str) + "&destinations=" + df["end_latitude"].map(str) + "," + df["end_longitude"].map(str) + "&mode=" + mode + "&languge=en-EN&key=" + API_KEY


# Print results

print df

输出:


   end_latitude  end_longitude  start_latitude  start_longitude                                                                   distance_matrix_url

0  40.65        -73.98          40.76          -73.98            origins=40.76,-73.98&destinations=40.65,-73.98&mode=walking&languge=en-EN&key=my_key

1  789.00        0.00           123.00          456.00           origins=123.0,456.0&destinations=789.0,0.0&mode=walking&languge=en-EN&key=my_key

这是你要找的吗?


查看完整回答
反对 回复 2021-09-14
  • 2 回答
  • 0 关注
  • 213 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信