gpt4 book ai didi

python - 基于约束的Dataframe列生成

转载 作者:行者123 更新时间:2023-12-01 07:00:48 25 4
gpt4 key购买 nike

我有一个数据框:

B_Date   C_b
02/08/2019 2
02/08/2019 1
02/08/2019 1
02/08/2019 1
02/08/2019 3
02/08/2019 3
02/08/2019 2
02/08/2019 2
02/08/2019 2
02/08/2019 1
02/08/2019 4
02/08/2019 3
02/08/2019 4
02/08/2019 2
02/08/2019 4
02/08/2019 3
02/08/2019 4
02/08/2019 4
02/08/2019 4
03/08/2019 3
03/08/2019 1

我想创建一个新列 i_found,这样对于特定日期,如果 C_b 的总和大于 5000,则应在所有条目中放入 4,否则应放入 5。

预期输出

     B_Date    C_b  i_found
02/08/2019 2 5
02/08/2019 1 5
02/08/2019 1 5
02/08/2019 1 5
02/08/2019 3 5

请注意,这只是示例条目,总数不会达到 5000,但数据帧总共有 30k 条目,其中 c_b 达到 5000。任何人都可以提供同样的帮助。

任何人都可以帮忙吗?

最佳答案

一种方法是进行合并来获取groupby总和,然后分配新值:

s = df.merge(df.groupby("B_Date").sum().reset_index(),on="B_Date",how="left",suffixes=("_old","_new"))
s["i_found"] = np.where(s["C_b_new"]>5000, 4, 5)

print (s.drop("C_b_new", axis=1))
#
B_Date C_b_old i_found
0 02/08/2019 2 5
1 02/08/2019 1 5
2 02/08/2019 1 5
3 02/08/2019 1 5
4 02/08/2019 3 5
5 02/08/2019 3 5
6 02/08/2019 2 5
7 02/08/2019 2 5
8 02/08/2019 2 5
9 02/08/2019 1 5
10 02/08/2019 4 5
11 02/08/2019 3 5
12 02/08/2019 4 5
13 02/08/2019 2 5
14 02/08/2019 4 5
15 02/08/2019 3 5
16 02/08/2019 4 5
17 02/08/2019 4 5
18 02/08/2019 4 5
19 03/08/2019 3 5
20 03/08/2019 1 5

关于python - 基于约束的Dataframe列生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58637841/

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