加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 多元组条件的计数器

发布时间:2020-12-20 11:03:20 所属栏目:Python 来源:网络整理
导读:我有一个元组.. for i in my_tup: print(i) 输出: (Transfer,0:33:20,Cycle 1) (Transfer,0:33:10,Cycle 1) (Download,0:09:10,Cycle 1) (Transfer,Cycle 1) (Download,0:13:00,Cycle 1) (Download,0:12:30,Cycle 2) (Transfer,Cycle 2) (Download,0:02:00,
我有一个元组..

for i in my_tup:
   print(i)

输出:

(Transfer,0:33:20,Cycle 1)                 
   (Transfer,0:33:10,Cycle 1)                    
   (Download,0:09:10,Cycle 1)          
   (Transfer,Cycle 1)                   
   (Download,0:13:00,Cycle 1)            
   (Download,0:12:30,Cycle 2)           
   (Transfer,Cycle 2)              
   (Download,0:02:00,Cycle 2)            
   (Transfer,0:33:00,Cycle 2)              
   (Transfer,Cycle 2)               
   (Transfer,0:32:40,Cycle 2)

我正在尝试计算“转移”PER周期类别的出现次数.即循环1中有多少转移发生,循环2中有多少转移发生等等…

我可以在第一个周期中解决它,但不能在此之后解决这个问题.(实际输出中还有更多的周期).

accumulatedList = []
count = 0
for i in range(0 len(my_tup)):
     if my_tup[i][0] == 'Transfer' and my_tup[i][2] == 'Cycle 1':
          count +=1
     accumulatedList.append(count)

不知道如何为其他人做这件事.

解决方法

使用pandas库很简单:

import pandas as pd
df = pd.DataFrame(my_tup,columns=['Category','TimeSpan','Cycle'])
g = df.groupby(['Category','Cycle']).size()

它返回:

Category  Cycle  
Download  Cycle 1    2
          Cycle 2    2
Transfer  Cycle 1    3
          Cycle 2    5
dtype: int64

如果您只关心转移,请使用索引对其进行切片:

g['Transfer']

Cycle
Cycle 1    3
Cycle 2    5
dtype: int64

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读