如果/然后是熊猫状况



我希望放入一个Pandas条件,如果满足条件,它基本上会为现有条件分配一个新值。下面的psuedo代码进一步解释了我的意思:

如果邮政编码是33707,卧室数量等于2则租金=平方英尺*1200

到目前为止,我最接近匹配的是:

df.loc[(df['PostalCode'] == 33707) & (df['BedroomsTotal'] == 2), 'Rent'] = df['LivingArea'] * 2
print(df['Rent'])

在这种情况下最好使用numpy.where

import numpy as np
df['Rent'] = np.where(df['PostalCode'].eq(33707) & df['BedroomsTotal'].eq(2), df['LivingArea'] * 2, df.Rent)

我认为您需要在条件下工作

conditions = [((df['postalcode'] ==373370) & (df['bedroomtotal']==2)), 
((df['livingarea'] ==12000)
& condition2
& condition3] 
choices = [2,4, 5]. #your choices of multiplicator
import numpy as np
df['rent'] = np.select(conditions, choices*df['livingarea'], default='some value')

相关内容

最新更新