繁体   English   中英

根据 pandas 的其他列在列中添加随机值

[英]Adding random values in column depending on other columns with pandas

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

有什么建议吗?

提前致谢。 阿丽娜

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

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')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM