【问题标题】:Adding random values in column depending on other columns with pandas根据带有熊猫的其他列在列中添加随机值
【发布时间】:2020-11-29 14:05:46
【问题描述】:

我有一个包含“OfferID”、“SiteID”和“CatgeoryID”列的数据框,它们应该代表网站上的在线广告。然后,我想为净推荐值添加一个名为“NPS”的新列。这些值应在 1 到 10 之间随机给出,但在 OfferID、SideID 和 CatgeoryID 相同的情况下,它们需要具有相同的 NPS 值。我想过使用一个字典,其中 NPS 是键,不同的 ID 对是值,但我还没有找到一个好的方法。

有什么建议吗?

提前致谢。 阿丽娜

【问题讨论】:

    标签: python pandas numpy random


    【解决方案1】:

    最简单的方法是首先删除所有重复项;你可以这样做:

    uniques = df[['OfferID', 'SideID', 'CategoryID']].drop_duplicates(keep="first")
    

    之后,您可以执行以下操作(请注意,您的随机值不是唯一的):

    uniques['NPS'] = [random.randint(0, 100) for x in uniques.index]
    

    然后:

    df = df.merge(uniques, on=['OfferID', 'SideID', 'CategoryID'], how='left')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 2018-04-26
      • 2021-10-18
      • 2018-05-15
      • 2023-01-03
      • 2018-10-26
      相关资源
      最近更新 更多