DLB*_*DLB 6 python counting pandas
所以我有一个这样的df:
NAME TRY SCORE
Bob 1st 3
Sue 1st 7
Tom 1st 3
Max 1st 8
Jay 1st 4
Mel 1st 7
Bob 2nd 4
Sue 2nd 2
Tom 2nd 6
Max 2nd 4
Jay 2nd 7
Mel 2nd 8
Bob 3rd 3
Sue 3rd 5
Tom 3rd 6
Max 3rd 3
Jay 3rd 4
Mel 3rd 6
Run Code Online (Sandbox Code Playgroud)
我想算一下每个人得分超过5的haw mant时间?
进入一个看起来像这样的新df2:
NAME COUNT
Bob 0
Sue 1
Tom 2
Mary 1
Jay 1
Mel 3
Run Code Online (Sandbox Code Playgroud)
我的尝试很多 - 这是最新的
df2 = df.groupby('NAME')[['SCORE'] > 5].count().reset_index(name="count")
Run Code Online (Sandbox Code Playgroud)
首先创建布尔掩码,然后aggregate通过sum-sTrue值进行如下处理1:
df2 = (df['SCORE'] > 5).groupby(df['NAME']).sum().astype(int).reset_index(name="count")
print (df2)
NAME count
0 Bob 0
1 Jay 1
2 Max 1
3 Mel 3
4 Sue 1
5 Tom 2
Run Code Online (Sandbox Code Playgroud)
细节:
print (df['SCORE'] > 5)
0 False
1 True
2 False
3 True
4 False
5 True
6 False
7 False
8 True
9 False
10 True
11 True
12 False
13 False
14 True
15 False
16 False
17 True
Name: SCORE, dtype: bool
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
169 次 |
| 最近记录: |