Skip to main content
 首页 » 编程设计

python之如何根据 Pandas 数据框的值沿行计数

2025年05月04日14soundcode

我有一个大型的 pandas session 数据框(大约 100 列):

    session_init        ID     
0    1                 675     
1    MID               675     
2    MID               675     
3    MID               675     
4    MID               675     
5    MID               675     
6    1                 345     
7    MID               345     
8    MID               345     
9    MID               345     
10   MID               345     
11   MID               345     
12   MID               345     
13   1                 098     
14   MID               098    
15   1                 675     
16   MID               675     
17   MID               675     
18   MID               675     
19   MID               675    
20   MID               675     
21   MID               675     
22   1                 098     
23   MID               098     
24   1                 098     
25   MID               098     

正如您在上面的 pandas 数据框中看到的,seassion 开始标记为 1。是否有任何 pandas 函数可以让我计算每个 session 的值计数?例如,在上面的数据框中,675 id 已经启动了 2 次 session 。因此,值(value)计数应该是:

675 : 2 
345 : 1 
098 : 3 

请您参考如下方法:

简单地使用 value_counts() 可能会更快:

df.loc[df.session_init == '1', 'ID'].value_counts() 
 
98     3 
675    2 
345    1