Python 获取条件上唯一值的计数

Python 获取条件上唯一值的计数,python,pandas,dataframe,group-by,Python,Pandas,Dataframe,Group By,我想知道一支球队在一个赛季中获胜的次数 我有一个如下所示的数据框: Date Team Win Player SHOT 2014-20-10 CHI 1 Benoit 1 2014-20-10 CHI 1 Benoit 0 2014-20-10 CHI 1 Benoit 0 2014-20-10 CHI 1 Mickael 1 2014-23-1

我想知道一支球队在一个赛季中获胜的次数

我有一个如下所示的数据框:

Date          Team    Win   Player    SHOT
2014-20-10     CHI     1    Benoit     1
2014-20-10     CHI     1    Benoit     0
2014-20-10     CHI     1    Benoit     0
2014-20-10     CHI     1    Mickael    1
2014-23-10     CHI     0    Phillips   1
所以问题是,如果我把胜利加起来,我会得到太多的胜利,因为每个球员的每一次射门的值都是重复的

我已经做了一个独特的价值列合并日期,胜利和团队,我能够得到这些独特的价值计数

df.new["Unique"] = df.new["Date"].map(str) + df.new["Team"] + df.new["Win"]
counts = df.new['Unique'].value_counts()
df.new.groupby(['Unique'])['Win'].sum()  
我尝试了两种方法来获得胜利的总和,但每次我只得到数据中唯一值的次数。我想要的是整个赛季每支球队的总胜利数。因此,每当一个唯一的值与胜利列中的1相关联时,我想要+1,当它为0+0时……所以我得到了整个赛季每个球队的总胜利

我希望我明白了。我本可以在R中使用聚合来实现这一点,但我对python是新手。你会怎么做


如果您有完美的数据,谢谢您:

df.groupby(['Date','Team'])['Win'].max()
因为一个团队在一个日期应该只有一个结果。 对于所有日期:

df.groupby(['Date','Team'])['Win'].max().groupby(level=1).sum()

我相信pivot\u table在这里也能起作用

wins = pd.pivot_table(df, 'Win', 'Date', 'Team').sum()