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

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

【代码在第二部分】

目录

1 数据预处理

2 利用pandas进行数据处理

3 遇到的问题


1 数据预处理

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

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

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

1、在smallpdf.com 上转换 -->失败

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

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

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

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

选择:数据->分列

选择分隔符号:

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

完成后:


2 利用pandas进行数据处理

给出anaconda安装pandas的指令:

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

activate env3

安装pandas:

conda install pandas

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

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

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

15345

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

print(df.head(3)) # 前三排数据
          摇号申请编码  摇号次数     摇号注册时间       Unnamed: 3
0  566510581****     7 2016-07-05  16:41:31.764000
1  826510012****    63 2011-01-03  22:30:23.369000
2  956810166****    39 2012-04-13  22:27:02.804000

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

import pandas as pd
df = pd.read_excel('buyerlist_201807.xlsx')  # 读取数据
df = pd.DataFrame(df)  # 构造数据
# print(df.shape[0])  # 看一下数据大小
# print(df.head(3)) # 前三排数据
m = 0

for i in range(df.shape[0]):
    if df.iloc[i, 1] > 61:  # iloc用于提取数据中指定的某一行某一列
        m += 1
    elif df.iloc[i, 1] == 61:
        date = str(df.iloc[i, 2])[:10]
        date = ''.join(date.split('-'))
        if int(date) < 20110117:
            m += 1
        elif int(date) == 20110117:
            time = str(df.iloc[5, 3])
            time = ''.join(time.split(':'))
            if int(date) < 193225.587:
                m += 1
print(m)

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

1508

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

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

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

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


3 遇到的问题

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

ImportError: No module named 'xlrd'

猜你喜欢

转载自blog.csdn.net/m0_37622530/article/details/81198199