Pandas快乐学习之上海机动车牌照拍卖
数据集,请参考:
链接:https://pan.baidu.com/s/1h-q4Nmb96rdKkYIuTEEe7Q
提取码:f8xn
一、2002 年-2018 年上海机动车拍照拍卖
问题
(1) 哪一次拍卖的中标率首次小于5%?
(2) 按年统计拍卖最低价的下列统计量:最大值、均值、0.75 分位数,要求
显示在同一张表上。
(3) 将第一列时间列拆分成两个列,一列为年份(格式为20××),另一列为
月份(英语缩写),添加到列表作为第一第二列,并将原表第一列删除,
其他列依次向后顺延。
(4) 现在将表格行索引设为多级索引,外层为年份,内层为原表格第二至第
五列的变量名,列索引为月份。
(5) 一般而言某个月最低价与上月最低价的差额,会与该月均值与上月均值
的差额具有相同的正负号,哪些拍卖时间不具有这个特点?
(6) 将某一个月牌照发行量与其前两个月发行量均值的差额定义为发行增
益,最初的两个月用0 填充,求发行增益极值出现的时间。
(1)哪一次拍卖的中标率首次小于5%?
import numpy as np
import pandas as pd
df = pd.read_csv('dataset/2002年-2018年上海机动车拍照拍卖.csv',index_col='Date')
df.head()
df = df.rename(columns=lambda x: x.replace(" ","_")) #去除列表column中的空格以下划线替代
#df = df.rename(columns=lambda x: x.replace("'","").replace('"','')).replace(" ","")
df.eval('BiddingRate = Total_number_of_license_issued/Total_number_of_applicants' , inplace=True)
# 计算中标率,并在df后新增一列
BiddingRate = df.loc[df['BiddingRate'] < 0.05].index.tolist()
print(BiddingRate[0]+'拍卖的中标率首次小于5%')
(2)按年统计拍卖最低价的下列统计量:最大值、均值、0.75 分位数,要求显示在同一张表上。
#首先,把年月分开,应用列分开函数,故先将Date从索引转化为列
df = df.reset_index() #将Date作为列数据索引为0,1,2,3...
# df['Date_split'] = df['Date'].str.split('-')
# df.head()
df['Year'],df['Month'] = df['Date'].str.split('-').str
df.head()
grouped_year = df.groupby('Year')
#grouped_year.get_group('2').head()
group_lowPrice = grouped_year['lowest_price_']
stastic_lowPrice = group_lowPrice.agg(['max','mean',lambda x:x.quantile(0.75)])
stastic_lowPrice.rename(columns={stastic_lowPrice.columns[2]:'quantile75'},inplace =True)
stastic_lowPrice.head()
(3) 将第一列时间列拆分成两个列,一列为年份(格式为20××),另一列为 月份(英语缩写),添加到列表作为第一第二列,并将原表第一列删除, 其他列依次向后顺延。
df['Year'] = [int(i)+2000 for i in df['Year']]
df_new = df
del df_new['Date']
columnList = df_new.columns.tolist()
df_new3=df_new.reindex(columns = columnList[-2:]+columnList[:-2])
df_new3.head()
(4) 现在将表格行索引设为多级索引,外层为年份,内层为原表格第二至第 五列的变量名,列索引为月份。
grouped_mul= df_new3.melt(id_vars=['Year','Month'],value_vars=columnList[:-2])
grouped_mul = pd.pivot_table(grouped_mul,index=['Year','variable'],columns = 'Month',values ='value')
grouped_mul.head(6)
(5) 一般而言某个月最低价与上月最低价的差额,会与该月均值与上月均值 的差额具有相同的正负号,哪些拍卖时间不具有这个特点?
diffTemp = df_new.set_index(['Year','Month']).iloc[:,[1,2]]
diffTemp[diffTemp.diff().iloc[:,0] * diffTemp.diff().iloc[:,1]<0]
(6) 将某一个月牌照发行量与其前两个月发行量均值的差额定义为发行增 益,最初的两个月用0 填充,求发行增益极值出现的时间。
gain = df['Total_number_of_license_issued']-\
df['Total_number_of_license_issued'].rolling(2).mean().shift(1)
gain.head()
df['Gain'] = gain.fillna(0)
df.set_index('Date',inplace =True)
print('极大值:',df.Gain.idxmax())
print('极小值:',df.Gain.idxmin())
Pandas快乐学习之上海机动车牌照拍卖相关推荐
- 告别痛苦,快乐学习Pandas!开源教程《Joyful-Pandas》发布
Datawhale 作者:耿远昊.Datawhale团队 寄语:Pandas 是基于Numpy的一种工具,是为了解决数据分析任务而创建的,其纳入了大量库和一些标准的数据模型,提供了大量能使我们快速便捷 ...
- 快乐学习Pandas!开源教程《Joyful-Pandas》发布
Datawhale 作者:耿远昊.Datawhale团队 寄语:Pandas 是基于Numpy的一种工具,是为了解决数据分析任务而创建的,其纳入了大量库和一些标准的数据模型,提供了大量能使我们快速便捷 ...
- Python科学计算之Pandas基础学习
Python科学计算之Pandas基础学习 导入Pandas 我们首先要导入我们的演出明星--Pandas. 这是导入Pandas的标准方式.显然,我们不希望每时每刻都在程序中写'pandas',但是 ...
- 程序员如何快乐学习?
经历了小学到大学的学习,经历了一次又一次应试学习,经历了实践操作的 学车学习,我们的一生都是在不断的学习着.........我们不断的在体会着学习这一过程,那究竟什么才是学习?又如何学习?学习是一件痛 ...
- 【Vue】快乐学习第四篇,组件访问及插槽使用
欢迎来到快乐学习Vue,组件访问及插槽的使用,快来学习吧
- Ubuntu的快乐学习2——SnowBoy语音唤醒
Ubuntu的快乐学习2--SnowBoy语音唤醒 学习前言 安装步骤 一.麦克风检测部分 1.安装pulseaudio和sox 2.安装其它软件依赖 二.获取源代码 学习前言 为了部落! 安装步骤 ...
- Ubuntu的快乐学习1——Ubuntu18.04的ROS平台搭建
Ubuntu的快乐学习1--Ubuntu18.04的ROS平台搭建 学习前言 安装步骤 一.修改中科大源 1.备份原来的源 2.编辑现在的源 二.修改软件与更新 三.ROS软件源设置 1.设置sour ...
- PS多媒体教程带你享受快乐学习
PS多媒体教程带你享受快乐学习 与单纯的图文教程相比,生动活泼的视频多媒体教程更容易吸引大家的注意,让学习过程更加轻松有趣. 这里推出的是FIF 多媒体制作组精心制作的一系列从入门基础到高级应用的Ph ...
- Pandas组队学习Task05
Pandas组队学习Task05 import pandas as pd import numpy as np path = r"C:\Users\yongx\Desktop\data&qu ...
- Python学习日记-pandas操作学习
Python学习日记-pandas模块学习 根据需求筛选数据 绘制柱状图-利用pandas绘制 绘制柱状图-利用matplotlib绘制 绘制柱状图-两组数据比较 绘制柱状图-叠加柱状图 绘制饼状图 ...
最新文章
- win7中Android开发环境搭建超详细(百度)
- 读8篇论文,梳理BERT相关模型进展与反思
- 查看linux java home_查看Linux中自带的jdk,设置JAVA_HOME
- 【深度学习】DL下的3D图像和Low-level Vision问题解析
- 在Windows下编译ffmpeg完全手册
- pyqt5实现按钮添加背景图片以及背景图片的切换
- MySqlException: The user specified as a definer ('root'@'%') does not exist解决方法
- 重构代码的tricks
- java输入年月判断当月天数_java输入月份,年份,显示对应月份的天数,
- mysql 查询正在运行的事务并且杀掉该事务
- 《集体智慧编程》学习笔记001
- 2022年8月22日 暑假第六周总结
- 人生的苦难需要时间去磨练
- C语言中的逗号的作用,c语言中什么是逗号运算符并举例
- Leetcode.43:(Python)给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。
- 网页设计颜色及平面设计的常用16进制+RGB色值表参考大全
- 谷歌浏览器本地HTML文件无法打开
- LZO和MiniLZO编码介绍
- 2017蓝桥杯java本科模拟赛
- C语言教务系统开题报告,C语言教学系统开题报告