我编程如下:
================= 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的结果?
答案 0 :(得分:0)
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))