100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 北京法院京牌小客车司法处置数据统计(Pandas)

北京法院京牌小客车司法处置数据统计(Pandas)

时间:2018-11-14 01:48:02

相关推荐

北京法院京牌小客车司法处置数据统计(Pandas)

最近我家参加了京牌小客车的司法拍卖。即参与京牌摇号失败的人可以参加司法处置的京牌小客车的竞拍。从开始实施摇号政策以来参与摇号次数越多,越有可能成功竞拍。我们参与的是 7月26日拍卖的这一次。在拍卖前夕,官网放出了此次参与竞拍的所有参与者的摇号次数,其中包括了大量的数据,有pdf 366页之多。所以我想利用Excel和Pandas对这些数据做一个整理和统计,看一看我家竞拍成功的可能性究竟有多大。

【代码在第二部分】

目录

1 数据预处理

2 利用pandas进行数据处理

3 遇到的问题

1 数据预处理

首先,看一下官网下载的数据是什么样的:

这是一个包含366页数据的pdf……我最想知道的是,有多少人比我家摇号次数多。

接下来,我们要把这个pdf文件转换成excel文件。我尝试了两种方法:

1、在 上转换 -->失败

2、用高级版福昕阅读器转换,在软件的这个位置:

转换以后得到的Excel为(我去掉了头两行标题):

可以看到这三列的信息合并为一列了。

所以,接下来的工作就是把三列拆分开来。

选择:数据->分列

选择分隔符号:

接下来选择用空格进行分割:

完成后:

2 利用pandas进行数据处理

给出anaconda安装pandas的指令:

进入虚拟环境(以我的环境名,env3为例):

activate env3

安装pandas:

conda install pandas

先看一眼这次竞拍到底有多少人参加:

import pandas as pddf = pd.read_excel('buyerlist_07.xlsx') # 读取数据df = pd.DataFrame(df) # 构造数据print(df.shape[0]) # 看一下数据大小

结果是。。一万五千多人!!!

15345

看一下数据的索引和前几行:

print(df.head(3)) # 前三排数据

摇号申请编码 摇号次数摇号注册时间 Unnamed: 30 566510581****7 -07-05 16:41:31.7640001 826510012**** 63 -01-03 22:30:23.3690002 956810166**** 39 -04-13 22:27:02.804000

司法拍卖设置的规则是,假如两位竞拍者的摇号次数相同,优先摇号注册时间长的一位竞拍。而我家的摇号次数是61,注册时间为-01-17 19:32:25.587,确定有多少人比我家更有优势的代码是:

import pandas as pddf = pd.read_excel('buyerlist_07.xlsx') # 读取数据df = pd.DataFrame(df) # 构造数据# print(df.shape[0]) # 看一下数据大小# print(df.head(3)) # 前三排数据m = 0for i in range(df.shape[0]):if df.iloc[i, 1] > 61: # iloc用于提取数据中指定的某一行某一列m += 1elif df.iloc[i, 1] == 61:date = str(df.iloc[i, 2])[:10]date = ''.join(date.split('-'))if int(date) < 0117:m += 1elif int(date) == 0117:time = str(df.iloc[5, 3])time = ''.join(time.split(':'))if int(date) < 193225.587:m += 1print(m)

得到的结果是(我家前面有多少人):

1508

!!!是一个让人心碎的结果了(这批司法拍卖一共才有40辆车)。。。

用excel排序一下(excel没办法比较注册时间),这个数字还是比较接近的,说明是一个有说服力的结果。

根据上次5月26日的竞拍结果,报名竞拍的人中有将近40%都选择了价格最低的那辆京牌小客车(我家避开了这个高峰):

假设这次排在前面的1508中依然有40%的人竞拍最便宜的车,那么剩下的将会有905人竞拍39辆车,那么意味着平均每辆车都有23个高分竞争者!!

3 遇到的问题

以下是我在过程中遇到的问题和解决办法,放在这里作为参考:

ImportError: No module named 'xlrd'

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。