【问题标题】:Change column value based on list pandas python [closed]根据列表熊猫python更改列值[关闭]
【发布时间】:2021-05-15 11:22:26
【问题描述】:

我希望在 2018 年的订单数据中跟踪将在 2019 年流失的客户,以便我可以进行一些分析,例如客户来自哪里,与客户相比,他们的订单规模是否在减少不会流失。

2018 年的订单数据是一个名为“order_data”的 pandas df,我有一个将在 2019 年流失的客户列表,名为“churn_customers_2019”。在 order_data 中有一个名为 Customer_id 的列。该列表还填写了将流失的客户的 Customer_id 名称。

但是我的逻辑运行不好。

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% 的客户流失。

【问题讨论】:

标签: python pandas list dataframe


【解决方案1】:

我建议使用np.whereisin 来解决您的问题,同样:

order_data['churn in 2019?'] = np.where(order_data['Customer_id'].isin(churn_customers_2019), 'Y', 'N')

【讨论】:

  • 谢谢!这有效,也简化了我的代码!
  • 我很高兴它有帮助:)
猜你喜欢
  • 1970-01-01
  • 2019-08-11
  • 2023-02-21
  • 1970-01-01
  • 2020-08-08
  • 2018-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多