在Python中,如何以特定格式将文件作为参数传递给参数?
我有一个像下面这样的文件或数据框,包含城市名称、纬度和经度在Python中,如何以特定格式将文件作为参数传递给参数?,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个像下面这样的文件或数据框,包含城市名称、纬度和经度 city.head(4) City Latitude Longitude Seattle 47.620422 122.349358 Dubai 25.276987 55.296249 Mexico 19.432608 99.1332 Tokyo 35.652832 139.839478 我想将城市数据框中的所有纬度和经度传递给API,并获得相应的 结果。目前
city.head(4)
City Latitude Longitude
Seattle 47.620422 122.349358
Dubai 25.276987 55.296249
Mexico 19.432608 99.1332
Tokyo 35.652832 139.839478
我想将城市数据框中的所有纬度和经度传递给API,并获得相应的
结果。目前,我能够通过向parms提供进给lat和long输入
如何使整个步骤自动化。Lat和Long应以这种格式传递到参数中Lat:Long****(前3个小数点应从城市数据框中提取)
API的样本输出
'{"results":[{"place":{"type":"locode","value":"PLWRO"},"measures":[{"ts":1572177600000,"t2m":19.6,"t_min":12.16,"t_max":20.59,"wspd":26,"dir":"W","wgust":37,"rh2m":44,"prsmsl":1015,"skcover":"clear","precip":0.0,"snowd":0,"thunderstorm":"N","fog":"L"}]},{"place":{"type":"locode","value":"DEHAM"},"measures":[{"ts":1572177600000,"t2m":10.49,"t_min":8.18,"t_max":10.6,"wspd":21,"dir":"W","wgust":39,"rh2m":69,"prsmsl":1016,"skcover":"partly_cloudy","precip":0.0,"snowd":0,"thunderstorm":"N","fog":"L"}]}]}'
如何做到这一点。将浮点列四舍五入到第三位小数,然后转换为字符串。组合所需的列。迭代列并将数据发送到API
>>> df = df.round(3).astype(str)
>>> df
City Latitude Longitude
0 Seattle 47.62 122.349
1 Dubai 25.277 55.296
2 Mexico 19.433 99.133
3 Tokyo 35.653 139.839
>>> df['LatLong'] = df.Latitude.add(':') + df.Longitude
>>> df
City Latitude Longitude LatLong
0 Seattle 47.62 122.349 47.62:122.349
1 Dubai 25.277 55.296 25.277:55.296
2 Mexico 19.433 99.133 19.433:99.133
3 Tokyo 35.653 139.839 35.653:139.839
>>> df.LatLong.str.cat(sep=', ')
'47.62:122.349, 25.277:55.296, 19.433:99.133, 35.653:139.839'
一班轮
>>> df.Longitude.str.cat(df.Latitude, sep=':').str.cat(sep=', ')
我同意毗瑟奴杰夫的回答,但这种特殊的方式需要你转换原始数据,这可能不是处理这种情况的最佳方式 为了保存原始数据,您可以在数据框中创建一小组计算列,如下所示:
df['latp'] = round(df['Latitude'], 3)
df['lonp'] = round(df['Longitude'], 3)
df['param'] = df['latp'].astype(str) + ':' + df['lonp'].astype(str)
…并将“param”列作为参数传递
干杯 我还应该为每个latlong追加
,
,然后作为参数传递。如何获得两对lat:long@rahulrajans,这就是您所需要的@Rahulrajan?当然,这就是我看起来忘记了一个错误ufunc'add'没有包含签名匹配类型为dtype的循环(‘api是自定义的,它接受参数输入吗?你能更改api功能吗?@temmo,是的,它可以使用参数输入。基本上我想创建一个附加了lat long的文件,格式如下所述,并将其传递给APIf它是自定义的,为什么要直接发送,发送param/df对象,让它在后端处理并获得结果
df['latp'] = round(df['Latitude'], 3)
df['lonp'] = round(df['Longitude'], 3)
df['param'] = df['latp'].astype(str) + ':' + df['lonp'].astype(str)