python: если в другом случае произошла ошибка, возвращаемое значение неверно - PullRequest
0 голосов
/ 01 ноября 2018

Я запрограммирован, как показано ниже:

================= Программа Python =================

print(df.AMT.describe())
if (df.AMT.all() >= 100.000000): 
    df.BN_YN = 1
else:
    df.BN_YN = 0
df.groupby("BN_YN").size()

============= Результат программы Python ===============

count   850834.000000

mean       122.405618

std        607.791592

min          0.000000

25%         17.119406

50%         59.414306

75%        110.213483

max     215742.068175

Name: AMT, dtype:float64

BN_YN

0     850834

dtype: int64

Как видите, значения AMT превышают 100,000000. Однако BN_YN не имеет 1.

Как я могу получить результат как 1/0?

1 Ответ

0 голосов
/ 01 ноября 2018

IIUC: с использованием numpy where следующим будет решение

df['BN_YN'] = df.apply(lambda x: np.where(x['AMT'] >= 100, 1, 0), axis=1)

также можно записать так:

df = df.assign(BN_YN=df.apply(lambda x: np.where(x['AMT'] >= 100, 1, 0), axis=1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...