多线程统计频次

import csv
import numpy as np
import requests
from multiprocessing import Pool  # 导入进程池

my_matrix = np.zeros(shape=(19000,190))
# czsj = []
def func():
    with open(r'C:\Users\Administrator\Downloads\df_train.csv',encoding='utf8') as f:
        datas = csv.reader(f)
    #     i = 0
    #     for data in datas:
    #         if i != 0:
    #             czsj.append(data[47])
    #         i += 1
    # time = list(set(czsj))
    # time.sort()
        ft = open('交易时间.txt')
        fqz = open('非欺诈人员.txt')
        qzs = [qz for qz in fqz.readlines()]
        times = [time for time in ft.readlines()]
        t1s = []
        q1s = []
        i = 0
        for data in datas:
            if i != 0:
                t1s.append(data[47])
                q1s.append(data[1])
            i += 1
        x = 0
        for qz in qzs:#以行为单位
            y = 0
            for time in times:#以列为单位
                c = 0
                for i in range(len(t1s)):
                    if qz.strip() == q1s[i].strip() and time.strip() == t1s[i].strip():
                        c += 1
                my_matrix[x][y] = c
                print(c)
                y += 1
            x += 1
        np.savetxt('非欺诈人员.csv', my_matrix, fmt='%s', delimiter=',')


if __name__ == '__main__':
    pool = Pool(110)  # 创建25个线程
    pool.apply_async(func)  # 让每个线程都去执行downloadmovie函数,传递的参数为(i,)
    pool.close()  # 任务执行完毕以后就关闭线程
    pool.join()  # 等待线程结束

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值