我目前正在用熊猫编写一个函数,试图检查列中的行,看看它们是否为空。如果它们不是空的,我想要输出到一个新的专栏,在这种情况下,它将是‘融资’。基本上,如果一个行有一个值的贷款资金的日期,我希望短语融资被打印一个新的列称为支付类型。
def typepayment(x):
if x['Loan Funded Date'] != np.nan:
x['Payment Type'] = 'Financing'
return x
df2 = df1.apply(typepayment, axis = 1)
df2上述代码的输出仍然输出在贷款供资日期为null的行的支付类型中的融资。是什么导致了这个问题?
发布于 2022-07-18 19:58:00
如果x['Loan Funded Date'] != np.nan为null (NaN与其本身不相等),则x['Loan Funded Date']为True。在这种情况下,x['Payment Type']将被设置为“融资”。作为一种替代,您可以使用
m = df1['Loan Funded Date'].notna()
df1.loc[m, 'Payment Type'] = 'Financing'
# or
df1['Payment Type'] = df1['Payment Type'].mask(m, 'Financing')https://stackoverflow.com/questions/73027905
复制相似问题