Напишите лямбда-функцию как def: -function - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь записать лямбда-функцию в def: -функцию, чтобы лучше понять, что происходит в Python примере скрипта, который я получил. В некоторых функциях этого скрипта интегрирована лямбда-функция, и мне интересно, как она будет выглядеть как def: -statement. (Я новичок в использовании функций lamda). Вот код:

import numpy as np
import pandas as pd

df = pd.DataFrame({"A": [18,28,29,32,35,36,37,37,39,40,42,42,46,48,54,56,57,61,61,62,63,65],                  "B":  [9,13,17,15,23,21,24,28,26,30,29,36,38,42,40,48,40,51,54,50,51,57]})

a = lambda df: np.corrcoef(df[:,0], df[:,1])[0,1]
print(a)

>>>function <lambda> at 0x0000016896784950> #result of print-statement

def lamb(df):
    g = np.corrcoef(df.iloc[:,0],df.iloc[:,1])[0,1]
    return g

b = lamb(df)
print(b)

>>>0.974499725153725 #result of print-statement

Как мне изменить def lamb(df): -код так, чтобы его оператор print имел тот же результат, что и оператор print лямбда-функции?

Ответы [ 3 ]

2 голосов
/ 18 апреля 2020

print(a) печатает функцию, но

b = lamb(df)
        
print(b)

выводит вывод функции

Попробуйте print(lamb), чтобы получить аналогичный результат

1 голос
/ 18 апреля 2020

С

print(a)

Вы пытаетесь напечатать функцию, чтобы получить такой же полезный вывод:

print(a(df))

Это то, что вы ищете

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

просто выведите функцию баранины. это напечатает функцию в месте в 0x ......

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