我必须去桌子。表一有一个带IP号的列。表2是查找不同国家/地区的IP边界。我想在resp国家/地区的第一个表中添加一列。
table:ip_country
lower_bound_ip_address upper_bound_ip_address country
0 16777216 16777471 Australia
1 16777472 16777727 China
2 16777728 16778239 China
3 16778240 16779263 Australia
4 16779264 16781311 China
表二有一个列ip_address,我想添加一个列' country'使用表1中的查找值
这是我尝试过的。 这不起作用。
#map ip to country
def ip_to_country(ip):
country = ip_country.loc[(ip_country['lower_bound_ip_address'] <= ip) & (ip <= ip_country['upper_bound_ip_address']), 'country'].item()
return country
X["country"] = X["ip_address"].apply(ip_to_country)
我收到错误: ValueError:只能将大小为1的数组转换为Python标量
请帮忙。