Вот мой dataFrame
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(5, 5))
med_nbr = df[2].median()
print(med_nbr)
print(df)
Вот результат
0.34525859612986665
0 1 2 3 4
0 0.289589 0.116376 0.337936 0.491921 0.410265
1 0.750574 0.287310 0.345259 0.075267 0.880722
2 0.756635 0.549868 0.490098 0.653393 0.687278
3 0.430389 0.829553 0.923288 0.279416 0.399782
4 0.850239 0.720959 0.082318 0.858743 0.391333
Вот что я хочу сделать - взять med_nbr и сравнить его с каждым из значений столбца 2 и добавить новый столбец 5, который будет иметь либо 1, либо 0 в зависимости от того, больше или меньше значения в столбце 2 медианы. Ожидаемый результат будет
0 1 2 3 4 5
0 0.289589 0.116376 0.337936 0.491921 0.410265 0
1 0.750574 0.287310 0.345259 0.075267 0.880722 1
2 0.756635 0.549868 0.490098 0.653393 0.687278 1
3 0.430389 0.829553 0.923288 0.279416 0.399782 1
4 0.850239 0.720959 0.082318 0.858743 0.391333 0
Вот что я делаю и получаю сообщение об ошибке
df['New'] = df.apply(lambda x: 1 if x[2] >= med_nbr else 0)
Может кто-нибудь объяснить, почему это не работает, и дать правильный код