【发布时间】:2020-04-18 17:52:31
【问题描述】:
我正在尝试将 lambda 函数写入 def:-function,以便更好地理解我得到的 Python 示例脚本中发生的事情。在该脚本的某些函数中,集成了一个 lambda 函数,我想知道它看起来像 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): 代码,使其打印语句与 lambda 函数的打印语句具有相同的输出?
【问题讨论】:
-
你打印的不一样,一个是打印一个 lambda 函数对象,另一个是函数调用的结果
-
我知道,这是我的问题。如何更改 'def lamb(df):'-function 以使其打印相同..
-
只需:
print(a(df)),就像您使用print(lamb(df))一样。 a 和 lamb 都是函数。 -
print(lamb)? -
print(a(df)) 给出:TypeError: '(slice(None, None, None), 0)' is an invalid key
标签: python function numpy lambda