Я борюсь с печатью простой лямбда-функции. Я пробовал разные вещи, но все они дают ошибки. Есть идеи?
См. Код ниже:
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(df)) # -> TypeError: '(slice(None, None, None), 0)' is an invalid key
print(a()) # -> TypeError: <lambda>() missing 1 required positional argument: 'df'
print(a) # -> prints the function but not the result and it's the result I want
Решение:
a = lambda df: np.corrcoef(df["A"], df["B"])[0,1]
a = lambda df: np.corrcoef(df.iloc[:,0], df.iloc[:,1])[0,1]
print(a(df))