Мне нужно применить функцию к каждому столбцу в кадре данных Pandas, который включает количество NaN в каждом столбце. Скажем, у меня есть этот кадр данных:
import pandas as pd
df = pd.DataFrame({'Baseball': [3, 1, 2], 'Soccer': [1, 6, 7], 'Rugby': [8, 7, None]})
Baseball Soccer Rugby
0 3 1 8.0
1 1 6 7.0
2 2 7 NaN
Я могу получить количество NaN в каждом столбце с помощью:
df.isnull().sum()
Baseball 0
Soccer 0
Rugby 1
Но я не могу понять, как использовать этот результат вфункция, применяемая к каждому столбцу. Скажем, в качестве примера, я хочу добавить число NaN в столбце к каждому элементу в этом столбце, чтобы получить:
Baseball Soccer Rugby
0 3 1 9.0
1 1 6 8.0
2 2 7 NaN
(Моя фактическая функция более сложна.) Я попытался:
def f(x, y):
return x + y
df2 = df.apply(lambda x: f(x, df.isnull().sum()))
и я получаю искаженное представление:
Baseball Soccer Rugby
0 NaN NaN NaN
1 NaN NaN NaN
2 NaN NaN NaN
Baseball NaN NaN NaN
Rugby NaN NaN NaN
Soccer NaN NaN NaN
Есть идеи, как использовать количество NaN в каждом столбце в функции, применяемой к каждому столбцу?
Спасибозаранее!