华为机试(臻选)
牛客网华为机试合唱队(动态规划与队列)
1234567891011121314151617181920212223242526import bisectdef deal(arr): d = [] count = [] for val in arr: if not d: d.append(val) count.append(1) elif d[-1] < val: d.append(val) count.append(count[-1]+1) else: d[bisect.bisect_left(d, val)] = val count.append(count[-1]) return count while True: try: n = int(input()) height = list(map(int, input().split())) ...
我爱我家武汉房价爬取
爬取我爱我家武汉房租123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121import reimport requestsfrom bs4 import BeautifulSoupfrom lxml import htmlimport timefrom fake_useragent import UserAgentimport copyua = UserAgent(use_cache_server=False)header = { 'User-Agent': ua.random,}etree ...
mysql
数据库介绍为什么要学习数据库?通常,我们存储数据,直接用本地文件即可。但是,本地文件不利于存放海量数据,也不利于用程序对文件的数据进行查询与管理。那么为了解决这些弊端,才有数据库的出现,那么数据库也是每个程序员必须掌握的技术。
数据库介绍数据库(database)简称DB,实际上就是一个文件集合,是一个存储数据的仓库,本质就是一个文件系统,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查等操作。
数据库存储数据特点
持久化存储
读写速度极高
保证数据的有效性
对程序支持非常好,容易扩展
数据库的分类
关系型数据库:可以保存现实生活中的各种关系数据,数据库中存储数据以表为单位;主流关系型数据库:MySQL,Oracle,SQLServer等
非关系型数据库:通常用来解决某些特定的需求,比如高并发访问。主流非关系型数据库:Redis,Mongodb,memacache等
MySQL介绍MySQL由来
MySQL介绍MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言——结构化查询语言(SQL)进行数据库管理。MySQL因为其 ...
pyecharts
PyEcharts说明文档https://pyecharts.org/#/zh-cn/global_options?id=legendopts%ef%bc%9a%e5%9b%be%e4%be%8b%e9%85%8d%e7%bd%ae%e9%a1%b9
接下来会用到的数据:
链接:https://pan.baidu.com/s/1RAqFCxWcl4OEChlRtSBooA提取码:612s
pyecharts快速开始pyecharts中可以绘制的图有很多,这里我们先来总体的了解一下他的使用风格,和调用的方式。
绘制条形图123456789from pyecharts.charts import Barbar = Bar()#添加x轴数据c = ( Bar() .add_xaxis(['苹果','橘子','梨','樱桃'])#添加x轴数据 .add_yaxis('金额',[10,5,8,17])#添加y轴数据 .render('fruit.html ...
seaborn
Seaborn介绍接下来会用到的数据:
链接:https://pan.baidu.com/s/1RAqFCxWcl4OEChlRtSBooA提取码:612s
Seaborn 是一个基于 matplotlib 且数据结构与 pandas 统一的统计图制作库。他提前已经定义好了一套自己的风格。然后也封装了一系列的方便的绘图函数,之前通过matplotlib需要很多代码才能完成的绘图,使用seaborn可能就是一行代码的事情。
关系型绘图
分类型绘图
分布型绘图
线性关系绘图
Seaborn安装1.通过 pip :pip install seaborn
2.通过anaconda: conda install seaborn
关系型绘图seaborn.relplot()这个函数功能非常强大,可以用来表示多个变量之间的关联关系。默认情况下是绘制散点图,也可以绘制线性图,具体绘制什么图形是通过kind参数来决定的。实际上以下两个函数就是relplot的特例:
散点类型:scatterplot -> relplot(kind=”scatter”)
线性类型:lineplot -& ...
时间序列
时间序列接下来会用到的数据:
链接:https://pan.baidu.com/s/1RAqFCxWcl4OEChlRtSBooA提取码:612s
时间序列前言时间序列数据在很多领域都是重要的结构化数据形式,比如:金融,神经科学,生态学,物理学。在多个时间点观测的数据形成了时间序列。时间序列可以是固定频率的,也可以是不规则的。
常见使用
时间戳
固定的时间区间
时间间隔
时间序列基础时间序列介绍Pandas中的基础时间序列种类是由时间戳索引的Series,在Pandas外部通常表示为Python字符串或datetime对象。
注意
datetime对象可作为索引,时间序列DatetimeIndex
<M8[ns]类型为纳秒级时间戳
时间序列里面每个元素为Timestamp对象
生成时间序列函数
pd.date_range(start=None,end=None,periods=None,freq=None,tz=None,normalize=False)
start 起始时间
end 结束时间
periods 固定时期
freq 日期偏移量(频率)
normaliz ...
数据规整
索引与分层索引接下来会用到的数据:
链接:https://pan.baidu.com/s/1RAqFCxWcl4OEChlRtSBooA提取码:612s
索引
查看索引:df.index
12345import pandas as pdimport numpy as npdf1 = pd.DataFrame(np.random.randint(60,100,size=(4,2)),index=["bob","amy","cheney","jerry"])print(df1.index)
指定索引:df.index = [,] 个数必须一致否则error
12345678import pandas as pdimport numpy as npdf1 = pd.DataFrame(np.random.randint(60,100,size=(4,2)),index=["bob","amy","cheney","jerry" ...
数据清洗
Pandas数据清洗接下来会用到的数据:
链接:https://pan.baidu.com/s/1RAqFCxWcl4OEChlRtSBooA提取码:612s
数据清洗介绍数据清洗实际上也是数据质量分析,检查原始数据中是否存在脏数据(不符合要求,或者不能直接进行分析的数据),并且处理脏数据。
常见情况如下
缺失值
异常值
重复数据
处理缺失值Pandas使用浮点值NaN(not a Number)表示缺失值,并且缺失值在数据中时常出现。那么Pandas的目的之一就是**”无痛地”**处理缺失值。
判断数据是否为NaN
pd.isnull(df) 返回哪些值是缺失值的布尔值
123456import pandas as pdimport numpy as npdf = pd.DataFrame(np.arange(16).reshape(4,4),index=['a','b','c','d'])# print(df)print(pd.isna(df[:2]))
123 0 ...
pandaswork2
练习1读取 catNames2.csv 文件,完成需求如下:
找到所有的使用次数超过800的猫的名字
获取用次数最高的名字
1234567891011import pandas as pdcns = pd.read_csv('./catNames2.csv')# print(cns)#找到所有的使用次数超过800的猫的名字print(cns[cns['Count_AnimalName']>800])counts_sort = cns.sort_values(by='Count_AnimalName',ascending=False)#获取用次数最高的名字maxcounts = counts_sort.iloc[0]print(maxcounts)
练习2
读取 五粮液2020.xlsx 数据,指定 索引为0列 为 行索引
查看 该数据的基本信息
计算每一天各指标的差异值
计算其 pre_close 的增长率
将 pre_close 的增长率添加至 wly_data 数据中
将 pct_change 该列 呈现的 N ...
pandaswork1
要求DAY1练习1通过 Pandas 创建 学生成绩表的 excel 文件 。
123stu_names = ["胡歌","林更新","金世佳","丑娟"]courses = ['语文', '数学', '英语', 'Python', '体育']data = np.array([[87., 74., 98., 84., np.nan],[79., 69., 61., 99., np.nan],[84., 84., 94., 66., np.nan],[90., 60., 72., 90., np.nan]])
再通过 Pandas 创建 选修成绩表的 excel 文件 。
123ele_names = ["胡歌","林更新","金世佳","丑娟"]ele_courses = ['统计学' ...