Как использовать функцию apply для нескольких панелей данных с некоторыми условиями? - PullRequest
0 голосов
/ 09 июля 2019

Я уже использовал цикл for, который отнимает много времени, и написал пользователю определенная функция для функции apply, которая не работает.

for i in range(0,train_merchant_info.shape[0]):
    for j in range(0,country_ip.shape[0]):
        if train_merchant_info["IP_Address"] 
            [i]>=country_ip["lower_bound_ip_address"][j] and
            train_merchant_info["IP_Address"][i] <= 
            country_ip["upper_bound_ip_address"][j]:
            train_merchant_info["Country"][i] = country_ip["country"][j]
        else:
            train_merchant_info["Country"][i] = "None"

Ниже приведена функция «apply» для вышеуказанного цикла «for»

def add_country(x):
    train_country = country_ip.apply(lambda y: y["country"] if
    (x["IP_Address"]>= y["lower_bound_ip_address"] 
    and x["IP_Address"] <= y["upper_bound_ip_address"])else 
    None,axis=1)
return train_country

train_merchant_info["Country"] = train_merchant_info.apply(lambda x: 
add_country(x),axis=1)  

Для "применить" это ошибка, которую я получаю:

Wrong number of items passed 235, placement implies 1
...