-1
我有贷款数据与借款人身份证,银行身份证,到期日和贷款支付日期。我想查明,对于任何借款人而言,她之前的贷款是否尚未到期,目前的贷款是否已发放(多笔借款)。如果是这样,我想创建一个包含银行标识的列,以前的未到期贷款已经从中取出。如果基于前一行的条件产生“一个Series的真值不明确,请使用a.empty,a.bool(),a.item(),a.any()或a.all()。”
我的数据看起来像
df = pd.DataFrame({'month':[3,6,7,12,2,5,8,1],
'borrower':[1,1,1,1,2,2,3,4],
'bank':[1,1,2,3,3,3,4,5],
'maturity':[9,18,19,24,14,17,14,13]})
我想补充这一个列:
df = pd.DataFrame({'month':[3,6,7,12,2,5,8,1],
'borrower':[1,1,1,1,2,2,3,4],
'bank':[1,1,2,3,3,3,4,5],
'maturity':[9,18,19,24,14,17,14,13],
'currently_borrowing':[np.nan,1,1,2,np.nan,3,np.nan,np.nan]})
我曾尝试下面的代码:
df = df.sort_values(['borrower','month'])
if ((df['bank'] == df['bank'].shift()) & (df['maturity'] >= df['maturity'].shift()) &(df['maturity'].shift() > df['month'])) :
df['currently_borrowing'] = df['bank'].shift()
else :
df['currently_borrowing'] = np.nan
,但我得到的以下错误消息:“一个Series的真值不明确,使用a.empty,a.bool(),a.item(),a.any()或a.all()。” 我曾尝试添加.any()和.all(),但新列只包含NAN。
任何帮助非常感谢!