我有一个包含不同类别(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
我一直在尝试使用pundas build in“groupby”来解决这个问题,但是我无法得到正确的结果。谁知道如何解决这个问题?
非常感谢!
答案 0 :(得分:1)
let thing: EnumLikeObject = EnumLikeObject.Foo
如果需要相同的列顺序添加DataFrame.reindex_axis
:
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