功能无法正确识别条件



我的dataframe(dfd(具有一个列('verleihgruppe'(,其中可以找到许多租用的文章。对于使用NAN的所有记录,购买了产品。因此,我尝试创建一个列('geschäftsvorgang1'(,以将术语"租赁"分配给具有值的所有记录,而应为所有NAN分配"购买"。

问题是新创建的列仅包含字符串"租赁"。显然,它没有识别NAN来为这些记录分配正确的字符串"购买"。

如果您能提供帮助,那就太好了!

谢谢!

def product_type(x):
    if x['Verleihgruppe'] == 'NaN':
      return 'Purchase'
    else:
      return 'Rental'
dfd['Geschäftsvorgang1'] = dfd.apply(product_type, axis=1)

在dataframe中的NaN值永远都不好,因此您应该替换NaN值,而fillna((函数替换为0,并确保在Verleihgruppe列中具有数字数据:

>
import pandas as pd
dfd.fillna(value=0, inplace=True)    
dfd['Geschäftsvorgang1'] = ["Purchase" for r in dfd['Verleihgruppe'] if r == 0 else "Rental"]

最新更新