Почему он показывает None, когда должен показывать, к какому классу IP он принадлежит - PullRequest
0 голосов
/ 20 апреля 2020
import pandas as pd

ecom = pd.read_csv("data science pack\Ecommerce Purchases.csv")
ecom['Class_IP'] = ecom['IP Address'].apply(lambda x:x.split(".")[0])
def ipc(x):
    if x in range(0,128):
        print("A")
    if x in range(128,192):
        print("B")
    if x in range(192,224):
        print('C')
    if x in range(224,240):
        print("D")
    if x in range(240,255):
        print("E")

ecom['new_c'] = ecom['Class_IP'].apply(lambda y : ipc(y)) 
print(ecom['new_c'])

Над кодом. Он должен напечатать IP-класс, но он показывает None-значения.

1 Ответ

0 голосов
/ 20 апреля 2020

Вы можете попробовать передать int (y) вместо y в метод ip c () в лямбда-функции, как показано ниже:

ecom['new_c'] = ecom['Class_IP'].apply(lambda y : ipc(int(y)))

Возвращается None, потому что функция ip c ожидает значение int и вы передаете ему значение string .

Надеюсь, этот ответ решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...