gpt4 book ai didi

python - 组合 DataFrame 中的行并将值添加为列

转载 作者:行者123 更新时间:2023-12-01 02:19:33 25 4
gpt4 key购买 nike

我的数据框如下所示:

campaign_name  campaign_id    event_name  clicks  installs  conversions
campaign_1 1234 registration 100 5 1
campaign_1 1234 hv_users_r 100 5 2
campaign_2 2345 registration 500 10 3
campaign_2 2345 hv_users_w 500 10 2
campaign_3 3456 registration 1000 50 10
campaign_4 3456 hv_users_r 1000 50 15
campaign_4 3456 hv_users_w 1000 50 25

我想将所有“事件名称”分类为 2 个新列,其中第一个新列代表“注册”,第二个新列代表“hv_users”,这将是事件名称为“的所有行的总和” hv_users_r”和“hv_users_w”。

为了保持简单 - “注册”列将包含仅将 event_name 作为“注册”的行。所有非“注册”event_names 将进入新列“hv_users”。

这是我期望的新数据框:

campaign_name  campaign_id  clicks installs  registrations  hv_users
campaign_1 1234 100 5 1 2
campaign_2 2345 500 10 3 2
campaign_3 3456 1000 50 10 40

有人可以指导我如何从输入 DataFrame 到输出 DataFrame 吗?

最佳答案

df['hv_users'] = df.conversions.where(df.event_name.str.match(r'hv_users_[r|w]'), 0)
df['registrations'] = df.conversions.where(df.event_name == 'registration', 0)
df.hv_users = df.groupby('campaign_id').hv_users.transform(sum)
df = df.groupby('campaign_id').head(1).drop('event_name', axis=1)

关于python - 组合 DataFrame 中的行并将值添加为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48086457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com