习题答案参考来源:https://blog.csdn.net/qq_43654994/article/details/105882917
https://blog.csdn.net/KF_Guan/article/details/105879341

部分代码:

import numpy as np
import pandas as pd

一、2002 年-2018 年上海机动车拍照拍卖

df = pd.read_csv('数据集/2002年-2018年上海机动车拍照拍卖.csv')
df.head()
(1) 哪一次拍卖的中标率首次小于5%
df['rate']=df['Total number of license issued']/df['Total number of applicants']
df.query('rate <0.05').iloc[0]
(2) 按年统计拍卖最低价的下列统计量:最大值、均值、0.75 分位数,要求显示在同一张表上
df['Month']=df['Date']
df['Year']=df['Date']
df['Month']=df['Month'].agg(lambda x:x[-3:])
df['Year']=df['Year'].agg(lambda x:'200'+x[:-4] if len(x)<6 else '20'+x[:-4])
df.groupby(['Year'])['lowest price '].agg(['max','mean',('0.75',lambda x:np.quantile(x,0.75))]).head()
(3) 将第一列时间列拆分成两个列,一列为年份(格式为 20××),另一列为月份(英语缩写),添加到列表作为第一第二列,并将原表第一列删除, 其他列依次向后顺延
df=df[['Year','Month','Total number of license issued',\'lowest price ','avg price','Total number of applicants']]
df.head()
(4) 现在将表格行索引设为多级索引,外层为年份,内层为原表格第二至第五列的变量名,列索引为月份
dff=df.pivot(index='Year',columns='Month',values=df.columns[2:6].tolist())
dff.head()
dff.swaplevel(axis=1).stack()
(5) 一般而言某个月最低价与上月最低价的差额,会与该月均值与上月均值的差额具有相同的正负号,哪些拍卖时间不具有这个特点?
df_pre=df.iloc[:-1][['lowest price ','avg price']]
df_next=df.iloc[1:][['lowest price ','avg price']].reset_index()[['lowest price ','avg price']]
dff=df_next-df_pre
dff['signal']=dff['lowest price ']*dff['avg price']
L=dff['signal']<0
L=L.to_list()
L.insert(0,False)
df[L]
(6) 将某一个月牌照发行量与其前两个月发行量均值的差额定义为发行增益,最初的两个月用0填充,求发行增益极值出现的时间。
df['minus']=0
for i in range(2,len(df),1):df['minus'].iloc[i]=df['Total number of license issued'].iloc[i]\-np.mean([df['Total number of license issued'].iloc[i-1],df['Total number of license issued'].iloc[i-2]])
df['minus'].idxmax()
df['minus'].idxmin()

二、2007 年-2019 年俄罗斯机场货运航班运载量

df = pd.read_csv('数据集/2007年-2019年俄罗斯货运航班运载量.csv')
df.head()
(1) 求每年货运航班总运量
df[['Year','Whole year']].groupby('Year').sum()
(2) 每年记录的机场都是相同的吗?
#不是
df.groupby(['Airport name','Airport coordinates'])['Year'].count()
dff=df.groupby('Airport name')['Year']
print( '有 %d个机场并不是每年都被统计。' %  len(dff.count()[(dff.count())<(2019-2007+1)]))
(3) 按年计算 2010 年-2015 年全年货运量记录为 0 的机场航班比例。
df1 = df.set_index(['Year'])
groupby_3 = df1.sort_index().loc[2010:2015].groupby('Year')
display(groupby_3['Whole year'].agg( lambda x: print( '年份:', x.index[0], '\t 比例:%.2f' % (len(x[x==0]) / len(x) * 100), '%' ) ))
(4) 若某机场至少存在 5 年或以上满足所有月运量记录都为 0,则将其所有年份的记录信息从表中删除,并返回处理后的表格
c=df.groupby('Airport name')['Whole year'].apply(lambda x:(sum((x==0).tolist())>=5))
alist=c[(c==True)].index.tolist()
df=df[~df['Airport name'].isin(alist)]
df.head()

三、新冠肺炎在美国的传播

df1 = pd.read_csv('数据集/美国确证数.csv')
df2 = pd.read_csv('数据集/美国死亡数.csv')
df1.head()
df2.head()
(1)用 corr() 函数计算县(每行都是一个县)人口与表中最后一天记录日期死亡数的相关系数。
dff=df2[['Admin2','Population',df2.columns[-1]]]
dff.set_index('Admin2')
dff.corr()
(2) 截止到 4 月 1 日,统计每个州零感染县的比例
# 时序数据,是累计的,因此只取2020/4/1日
dff=df2[['Province_State','2020/4/1']]
dff['zero']=(dff['2020/4/1']==0)
zeros=dff.groupby('Province_State')['zero'].sum()
counts=dff.groupby('Province_State')['zero'].count()
zeros/counts

Joyful Pandas--综合练习相关推荐

  1. joyful pandas第1章 Pandas基础

    joyful pandas第1章 Pandas基础 Learning Objective 理论部分 一.文件读取与写入 1. 读取 (a)csv格式 (b)txt格式 (c)xls或xlsx格式 2. ...

  2. joyful pandas 05 变形

    练习 Ex1:美国非法药物数据集 现有一份关于美国非法药物的数据集,其中SubstanceName, DrugReports分别指药物名称和报告数量: import pandas as pd df = ...

  3. Python Pandas 综合练习

    Python Pandas 综合练习 Pandas 综合练习 Getting and Knowing your Data 在线数据集地址:https://raw.githubusercontent.c ...

  4. Pandas学习导图

    Pandas在线学习网站(强烈推荐):第一章 预备知识 - Joyful Pandas 1.0 documentation Pandas学习导图

  5. Pandas进阶伍 变形

    Pandas进阶伍 变形 pandas进阶系列根据datawhale远昊大佬的joyful pandas教程写一些自己的心得和补充,本文部分引用了原教程,并参考了<利用Python进行数据分析& ...

  6. 学习pandas,应该选择哪本书进行学习?

    pandas库的函数令人眼花缭乱,现实中的复杂问题难免使人手足无措.如果你刚开始使用pandas,遇到报错是很正常的,即使正确地进行了修复,下次遇到类似的问题时你可能已经遗忘了先前的解决方案,这样的情 ...

  7. 熊猫书来了!最全的pandas介绍!

    "告别痛苦,快乐学习pandas"是Datawhale社区和耿远昊发起"Joyful pandas"开源项目的初衷.历经两年的精心打磨,它终于要以熊猫书< ...

  8. 布客·ApacheCN 编程/后端/大数据/人工智能学习资源 2020.9

    公告 ApacheCN 项目的最终目标:五年内备份并翻译 Github 上的所有教程(其实快被我们啃完了,剩下的不多了). 警告各位培训班:对 ApacheCN 宣传文章的举报,也将视为对 Apach ...

  9. Coding and Paper Letter(八十一)

    新一期资源整理. 文章目录 1 Coding: 2 Paper 1 Coding: 1.负责任的可重复性计算机研究指南. reproducible research guidelines 2.模拟数据 ...

  10. python教学视频下载-董付国老师Python精品教学,视频教程下载

    课程目录 Python+pillow图像编程1:pillow扩展库安装与基础用法 Python+pillow图像编程2:Image子模块用法1 Python+pillow图像编程3:Image子模块用 ...

最新文章

  1. 用Python拨打电话
  2. mysql+dump+选项_详解MySQL数据备份之mysqldump使用方法
  3. 探究防抖(debounce)和节流(throttle)
  4. 人工智能项目开发规划与准备
  5. Jena文档《An Introduction to RDF and the Jena RDF API》的译文
  6. JavaScript语言特性
  7. Log4j比较全面的配置
  8. Elasticsearch 5.6.5 安装head插件
  9. SQL查询中用replace替换ntext,text字段的各种方法总结
  10. IntelliJ IDEA 2018 设置代码提示对大小写不敏感
  11. 阿里Java开发手册思考(二)
  12. python 代码片段24
  13. 第二届ATI获奖自动化测试工具介绍
  14. 夏普android4.4.2连u盘,即插即用 夏普复合机U盘直接打印教学
  15. Jmeter进行接口测试流程步骤详解
  16. 科技的性感:三星冰洗如何演绎时尚生活?
  17. vue项目中实现汉字转拼音缩写
  18. 图片上传实时预览效果
  19. 密码学技术如何选型?终探量子计算通信的安全模型
  20. C语言小游戏-五子棋

热门文章

  1. 微信小程序自定义标题栏
  2. 软件系统分析模型文档
  3. 经典网页设计:20个优秀的电子商务网站设计案例
  4. 渥太华大学OU-iti1120 Assignment 1课业解析
  5. cortex a8 java_ARM Cortex-
  6. .net mysql参数化查询_MySQL参数化查询的IN 和 LIKE
  7. 第六周助教工作总结——NWNU李泓毅
  8. VIM复制粘贴 的快捷键是什么
  9. Pytorch torch.add() torch.add_() 用法
  10. vue 修改标题栏_在Vue中如何实现动态修改页面title