Python 根据列表更改列值
我希望在2018年的订单数据中跟踪2019年将要流失的客户,以便我可以进行一些分析,例如客户来自何处,与不会流失的客户相比,他们的订单规模是否有所减少 2018年的订单数据是一个名为“订单数据”的数据,我有一份2019年将流失的客户列表,名为“流失客户2019”。在订单数据中有一个名为Customer\u id的列。该列表中还填写了将流失的客户的Customer\u id名称 然而,我的逻辑运行不好Python 根据列表更改列值,python,pandas,list,dataframe,Python,Pandas,List,Dataframe,我希望在2018年的订单数据中跟踪2019年将要流失的客户,以便我可以进行一些分析,例如客户来自何处,与不会流失的客户相比,他们的订单规模是否有所减少 2018年的订单数据是一个名为“订单数据”的数据,我有一份2019年将流失的客户列表,名为“流失客户2019”。在订单数据中有一个名为Customer\u id的列。该列表中还填写了将流失的客户的Customer\u id名称 然而,我的逻辑运行不好 order_data['churn in 2019?'] = str('N') for x i
order_data['churn in 2019?'] = str('N')
for x in order_data['Customer_id']:
if x in churn_customers_2019:
order_data['churn in 2019?'][x] = 'Y'
如果我运行此代码,所有内容都会变为N,而不是Y。只有大约10%的客户流失。我建议使用and来解决您的问题,同样:
order_data['churn in 2019?'] = np.where(order_data['Customer_id'].isin(churn_customers_2019), 'Y', 'N')
您好,您能提供一个示例吗?您需要添加一个具有预期输出的示例数据集。谢谢!这很有效,也简化了我的代码!我很高兴这有帮助:)