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()
将应用于系列中的每个元素。但是,与 类似,您应该会看到改进。
我安装了一个 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()
将应用于系列中的每个元素。但是,与