Python - 根据包中的函数查询列值 - 适用于单个结果,但不适用于列

问题描述 投票:0回答:2

我安装了一个Python软件包,用于显示搜索字词中的Google地理信息。我不能在我的数据中的所有行中应用该函数。我可以确认它适用于单个结果:

enter image description here

但是如何在第7列的每一行中应用它?

我明白我需要一个for循环:

enter image description here

但是如何将我的功能从包中应用到每一行?

非常感谢

python pandas loops for-loop packages
2个回答
1
投票

pd.Series.map是一种矢量化算法的方法:

data2['geocode_result'] = data2['ghana_city'].map(gmaps.geocode)

由于gmaps.geocode()将应用于系列中的每个元素,因此仍未进行矢量化。但是,类似于@ScratchNPurr's approach,你应该看到一个改进。


2
投票

您可以使用更快的apply函数:

data2['geocode_result'] = data2['ghana_city'].apply(lambda x: gmaps.geocode(x))

结果将是geocode_result列中的JSON字符串,因此您可能必须定义一些自定义函数以从字符串中提取所需的信息。至少应用将朝着正确的方向迈出一步。

© www.soinside.com 2019 - 2024. All rights reserved.