выполнение функции над значениями в датафрейме и замена - PullRequest
0 голосов
/ 01 октября 2018

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

for row in df["src"]:
    try:
            df["src"]= (function)
    except:
            print ("Error")

Ниже приведен пример столбца, все значения являются строками.

src

59.166.0.0
59.166.0.7
175.45.176.2
.
.
.
59.166.0.4

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Больше ни одного решения для панд:

def func(x):
    #code here
    return x

df["src"] = map(func,df['src'])

Или:

def func(x):
    #code here
    return x

df["src"] = [func(i) for i in df['src']]
0 голосов
/ 01 октября 2018

Я считаю, что вам нужно Series.apply:

df = pd.DataFrame({'src':['192.168.0.1','192.168.0.10', '']})
print (df)
            src
0   192.168.0.1
1  192.168.0.10
2              

def func(x):
    try:
        x = int(ipaddress.ip_address(x))
        return x
    except:
        return 0

df["src"] = df["src"].apply(func)
print (df)
          src
0  3232235521
1  3232235530
2           0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...