python如何迭代单词计数_Python中单词出现的有效计数

假设我有这两张桌子:

表1:ID CODE DATE value1 value2 text

-----------------------------------------------------

1 13A 2012-05-04 12.0 0.0 null

2 13B 2011-06-08 5.5 0.0 null

3 13C 2012-07-05 4.0 0.0 null

4 13D 2010-09-09 7.7 0.0 null

1 13A .....................................

1 13D .....................................

3 13D .....................................

表2:

^{pr2}$

我想找到一种有效的方法来计算每个id的代码出现次数,并根据第二个表中的代码创建计数向量。例如:

[2,0,0,1]表示id=1的person的计数向量,其中每个值是表2中代码的出现

我设法做到了这一点,但它看起来不是很有效…有没有更有效的方法?在sql = "SELECT * FROM table1"

cursor.execute(sql)

table1 = cursor.fetchall()

sql2 = "SELECT CODE FROM table2"

cursor.execute(sql2)

codes = cursor.fetchall()

list1 = []

list2 = []

cnt = Counter()

countList = []

n=len(codes)

for id,iter in itertools.groupby(table1,operator.itemgetter('ID')):

idList = list(iter)

list1.append(list((z['CODE']) for z in idList))

for pat in list1:

for code in codes:

cnt=pat.count(code.get('CODE'))

list2.append(cnt)

countList = [list2[i:i+n] for i in range(0, len(list2), n)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值