按年份统计每一个id出现的次数,当样本很大的时候比较快一些。
# -*- coding=utf-8 -*-
import pandas as pd
import csv #加载csv包便于读取csv文件
csv_file=open('D:/mystata/harvard-1.0/patent/utility_num/utility1.0.csv',encoding="utf-8") #打开csv文件
csv_reader_lines = csv.reader(csv_file) #逐行读取csv文件
date=[] #创建列表准备接收csv各行数据
for one_line in csv_reader_lines:
date.append(one_line) #将读取的csv分行数据按行存入列表‘date’中
df = pd.DataFrame(date,columns=["id","year"]) #将数据放入DataFrame中,命名各列名称为“id”和“year”
gp = df.groupby(by=["year","id"]) #按year分组
gp.size() #,统计每年每个id出现的次数
newdf=gp.size()
newdf.reset_index(name='times')
#result = pd.value_counts(gp)
newdf.to_csv('D:/mystata/harvard-1.0/patent/utility_num/every_utility_num.csv') #结果保存在csv中