使用另一列在一个列中查找类别数

问题描述 投票:2回答:2

我有一个数据集,如下所示。我想找出印度对每个对手的比赛总数吗?

        date      Team_1     Team_2     Winner     Margin    Ground
0  04-Jan-10  Bangladesh  Sri Lanka  Sri Lanka  7 wickets     Dhaka
1  05-Jan-10       India  Sri Lanka  Sri Lanka  5 wickets     Dhaka
2  07-Jan-10  Bangladesh      India      India  6 wickets     Dhaka
3  08-Jan-10  Bangladesh  Sri Lanka  Sri Lanka  9 wickets     Dhaka
4  10-Jan-10       India  Sri Lanka      India  8 wickets     Dhaka
5  11-Jan-10  Bangladesh      India      India  6 wickets     Dhaka
6  13-Jan-10       India  Sri Lanka  Sri Lanka  4 wickets     Dhaka
7  22-Jan-10   Australia   Pakistan  Australia  5 wickets  Brisbane

有人可以帮忙吗?

python pandas
2个回答
0
投票

您想要的数据结构必须具有重复的条目(排列与组合),因此,首先要在反转框架方向的同时将数据框加倍。然后将两个团队列分组并计数对:

pd.concat([scores, scores.rename(columns={"Team_1": "Team_2", "Team_2": "Team_1"})])
  [['Team_1', 'Team_2', 'date']]
  .groupby(["Team_1", "Team_2"])
  .count()

                       date
Team_1     Team_2          
Australia  Pakistan       1
Bangladesh India          2
           SriLanka       2
India      Bangladesh     2
           SriLanka       3
Pakistan   Australia      1
SriLanka   Bangladesh     2
           India          3

0
投票

您可以尝试使用stackstack,然后使用value_counts从结果中滤除value_counts

India

或1行:

.loc[]

.loc[]
© www.soinside.com 2019 - 2024. All rights reserved.