gpt4 book ai didi

python - 使用 one-hot 编码结果按日期、类别和客户对客户订单进行分组

转载 作者:太空宇宙 更新时间:2023-11-03 15:05:45 25 4
gpt4 key购买 nike

我有一个数据框,其中包含不同类别 (A-F) 的客户顺序。一表示从该类别购买,零表示没有购买。现在我想用 1 和 0 编码来指示每个类别中的购买是否是每天和每个客户进行的。

YEAR  MONTH DAY A   B   C   D   E   F   Customer
2007 1 1 1 0 0 0 0 0 5000
2007 1 1 1 0 0 0 0 0 5000
2007 1 1 0 1 0 0 0 0 5000
2007 1 2 0 1 0 0 0 0 5000
2007 1 2 0 0 1 0 0 0 5000

输出应如下所示:

 YEAR  MONTH DAY  A     B   C   D   E   F   Customer
2007 1 1 1 1 0 0 0 0 5000

我一直在尝试使用“groupby”中的 pandas 构建来解决这个问题,但是我无法得到正确的结果。有谁知道如何解决这个问题吗?

非常感谢!

最佳答案

我认为你需要groupby和聚合max :

cols = ['YEAR','MONTH','DAY','Customer']
df = df.groupby(cols, as_index=False).max()
print (df)
YEAR MONTH DAY Customer A B C D E F
0 2007 1 1 5000 1 1 0 0 0 0
1 2007 1 2 5000 0 1 1 0 0 0

如果需要相同的列顺序,请添加 DataFrame.reindex_axis :

cols = ['YEAR','MONTH','DAY','Customer']
df = df.groupby(cols, as_index=False).max().reindex_axis(df.columns, axis=1)
print (df)
YEAR MONTH DAY A B C D E F Customer
0 2007 1 1 1 1 0 0 0 0 5000
1 2007 1 2 0 1 1 0 0 0 5000

关于python - 使用 one-hot 编码结果按日期、类别和客户对客户订单进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44683956/

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