我的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"]