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

Python - Query column values against function in package - works on single results, but not across column

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

但是我怎样才能将它应用于第 7 列的每一行?

我知道我需要一个 for 循环:

但是如何将包中的函数应用到每一行?

非常感谢

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

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

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

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

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

这仍未矢量化,因为 gmaps.geocode() 将应用于系列中的每个元素。但是,与 类似,您应该会看到改进。