最新要闻
- 当前报道:自研指令集没有侵权MIPS 国产CPU龙芯赢了:摆脱官司
- 当前讯息:自燃车辆引燃邻车 损失谁来赔?法院释疑
- 华硕发布新款Vivobook 13 Slate笔记本:Intel 7W超低功耗U
- 今日精选:3岁女童喊脚疼被确诊癌症晚期:神经母细胞瘤 儿童癌症之王
- 天天微速讯:剧版《三体》弹幕互动量破2000万!豆瓣涨至8.3分
- 【热闻】iPhone 15 Ultra狂堆料!价格可能贵出天际
- 环球热议:全球不足50人!宝鸡发现1例罕见黄金血型:比熊猫血更稀有
- 强震已致超7700人遇难!土耳其地震背后的人祸 建筑不达标、豆腐渣工程多
- 全球热议:全球首架国产大飞机C919首飞三亚 民航最高接待礼“过水门”接风
- 环球关注:iPhone 15 Pro系列拿到三星顶级屏幕!超出S23系列整整两代
- 免费无广告 微软电脑管家2.7公测版发布:任务栏被意外修改有救了
- 4599元!佳能EOS R50发布:329克超轻便 支持无裁切6K
- 天天信息:研发10几年、花费千亿:日本国产大飞机为何失败?就是畸形产物
- 全球微速讯:LV将涨价?国人排长龙抢购 买万元包像在赶集:世界首富曾感慨中国用户有钱
- 马斯克将于3月1日公布特斯拉宏图第三篇章 第二篇章已烂尾
- 世界观速讯丨国产车企1:1复刻几十年前的MINI外观专利 宝马抗议!结果判了
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
03-Pandas详解
Pandas
Pandas的主要功能
- 具备对其功能的数据结构DataFrame、Series
- 集成时间序列功能
- 提供丰富的数学运算和操作
- 灵活处理缺失数据
Series
Series介绍:Series是一种类似于一维数组的对象,由一组数据和一组与之相关的数据标签(索引)组成,比较像列表和字典的结合体Series创建方式:
(资料图)
# 普通创建pd.Series([1,2,3,4])# 带索引创建pd.Series([1,2,3,4],index=["a","b","c","d"]) #但是我们依旧可以通过[0]来访问到数据,有两种访问方法,并没有被真正覆盖掉# 使用字典创建pd.Series({"a":1,"b":2})
Series使用特性
Series支持array特性 | Series支持字典特性 |
---|---|
从ndarray创建Series:Series(arr) | 从字典创建Series,Series(dic) |
与标量运算sr*2 | in运算:"a" in str |
两个Series运算:sr1+sr2 | 键索引:s["a"]、s[["a"、"b"]] |
索引:sr[0],s[[1,2,4]] | |
切片:sr[0:2] | |
通用函数:np.abs(sr) | |
布尔值过滤:sr[sr>0] |
01-常用函数
# 获取索引值sr.index# 获取值sr.values# 根据标签花式索引sr[["a","b"]]# 根据标签切片sr["a","b"]
Sr整数索引问题在对Series进行切片处理时,可能会出现整数访问的问题
import pandas as pdimport numpy as npsr = pd.Series(np.arange(20))sr2 = sr[10:].copy()sr2[10] # 可以正常访问sr2[0] # 无法正常访问# 如何解决整数索引的问题# 通过标签选择 [[1,13,14],[10,11,12]]sr2.loc[10] #结果为1# 通过下标选择src.iloc[10] #选择失败,下标越界src.iloc[0] #结果为1
02-数据对齐
在Series中,是按照索引对齐的,两个Series对象是按照索引对齐然后计算的。
sr1 = pd.Series([11,12,13],["a","c","d"])sr2 = pd.Series([14,15,21],["c","a","d"])sr1 + sr2# 如果一个索引有,另外一个索引没有,那么就会出现NaN的结果# 缺失值处理sr1.add(sr2,fill_value=0)
运行结果如下
a 26c 26d 34dtype: int64
DataFrame
DataFrame:DataFrame是一个表格型数据结构,含有一组有序的列.DataFrame可以被看作是Series组成的字典,并且共用一个索引。创建DataFrame:先创建一个基础的DataFrame
test1 = pd.DataFrame({"one":[1,2,3],"two":[4,5,6]},index=["a","b","c"])test1# 或者也可以用以下格式,体现Pandas将字典转化为dataframeimport pandas as pddata = {"name":["yahoo","google","facebook"],"marks":[200,400,800],"price":[9,3,7]}dataframe1 = pd.DataFrame(data,index=["one","two","three"])dataframe1
创建出的DataFrame对象如下以及如下:再通过Series创建一个DataFrame
test2 = pd.DataFrame({"one":pd.Series([1,2,3],index=["a","b","c"]),"two":pd.Series([1,2,3,4],index=["a","b","c","d"])})
创建出的DataFrame对象如下DataFrame读取CSV文件
# 读取csv文件df = pd.read_csv("test.csv")# 保存csv文件df.to_csv("文件名.csv")
01-常用属性
DataFrame常用属性
属性值 | 属性作用 |
---|---|
index | 获取索引 |
T | 转置 |
columns | 获取列索引 |
values | 获取值索引 |
describe() | 获取快速统计 |
02-索引与切片
# 根据索引名索引df["列"]["行"] #注意顺序不能反了# 通过标签形式访问df.loc["行","列"]# 通过标签方式访问某几行df.loc[["a","c"],:]
03-数据对齐
DataFrame行列在进行数据对齐的时候,其行索引和列索引分别对齐
04-缺失值处理
DataFrame在处理缺失值的时候与Series有相像的地方,但是在使用dropna()时候,会删除这一行。所以我们需要一个函数,当这一行全为NaN时候,我们再删除它
# 当一行全为缺失值时,进行删除test2.dropna(how="all")# 当一行只要有一个缺失值时,删除test2.dropna(how="any")# 当一列只要有一个缺失值是,删除test2.dropna(axis=1,how="any") #默认axis=0,按行删除,修改axis=1,按列删除
05-常用函数
# 对列(行)求平均值 mean(axis=0,skipna=False)df.mean() #默认按照列求缺失数据df.mean(axis=1) #按照行求缺失数据# 对列(行)求和df.sum() #默认按照列求缺失数据df.sum(axis=1) #按照行求缺失数据# 对列(行)索引排序,有NAN的部分不参与排序,放到最后df.sort_values(by="列名") #按照某列升序排列df.sort_values(by="列名",ascending=False) #按照某列降序排列df.sort_values(by="行名",axis=1) #按照某行升序排列df.sort_values(by="行名",axis=1,ascending=False) #按照某行降序排列# 按某一列(行)索引排序df.sort_index() #按照行索引升序排序df.sort_index(ascending=False) #按照列索引降序排序
时间序列
01-时间对象
- Python标准库处理时间对象:datetime
- 灵活处理时间对象:dateutil
- 成组处理时间对象:pandas:pd.to_datetime()
时间对象转换代码
# 初步的时间对象转换import datetimedatetime.datetime.strptime("2023-02-06","%Y-%m-%d")# 忽略格式,自动转换dateutil.parser.parse("2020-02-01")dateutil.parser.parse("2020-JAN-01")dateutil.parser.parse("03/04/2023")# pands转换方式pd.to_datetime(["2001-01-02","2020-Feb-03"])# 输出结果如下pd.to_datetime(["2001-01-02","2020-Feb-03"])
02-生成时间范围
# 默认生成一段时间的时间序列pd.date_range("2010-01-01","2010-05-01")# 选择起始节点,按天数生成pd.date_range("2010-01-01",periods=60)# 选择起始节点,按小时数生成pd.date_range("2023-02-01",periods=60,freq="H")# 选择起始节点,输出工作日pd.date_range("2023-02-01",periods=60,freq="B") #生成的是时间戳# 时间范围转化为字符串tm[0].to_pydatetime()
03-时间序列
时间序列:以时间对象为索引的Series或DataFrame,datatime对象作为索引时是存储在DatetimeIndex对象中的时间序列的特殊功能:
- 传入年或年月作为切片方式
- 传入日期范围作为切片方式
- 丰富的函数支持:resample()、truncate()
# 以B模式生成时间序列sr = pd.Series(np.arange(100),index=pd.date_range("2023-01-01",periods=100,freq="B"))sr# 取时间序列中的值 返回结果为99sr["2023-04-10"]# 取时间序列之后的值sr["2023-01-01":]# 取时间序列一段范围的值# 返回结果为99
根据时间戳求每周的和
sr.resample("W").sum()
求和结果如下:根据时间戳求每月的和
sr.resample("M").sum()
文件操作
01-CSV文件读取
Pandas文件读取主要参数
参数名 | 参数作用 |
---|---|
sep | 指定分隔符, 可用正则表达式比如"s+" |
header=None | 指定文件无列名 |
name | 指定列名 |
index_col | 指定某列作为索引 |
skip_row | 指定跳过某些行 |
na_values | 指定某些字符串表示缺失值 |
parse_dates | 指定某些列是否被解析为日期,类型为布尔值或者里欸包 |
# 读取csv文件,将时间列作为索引(注意此时为字符串)pd.read_csv("test.csv",index_col="date")# 将时间字符串转为时间序列pd.read_csv("test.csv",index_col="date",parse_dates=True) #将能表示为时间序列的数据表示为时间序列# 指定某列为时间序列pd.read_csv("test.csv",index_col="date",parse_dates="date")# 当没有列名,全是数据的时候,可以自动生成header,默认0,1,2...pd.read_csv("test.csv",header=None)# 当没有列名,全是数据的时候,可以使用列表赋值headerpd.read_csv("test.csv",header=None,names=["abcdefg"]
02-CSV文件保存
Pandas文件保存主要参数
参数名 | 参数作用 |
---|---|
sep | 指定文件分隔符 |
na_rep | 指定缺失值转换的字符串,默认空字符串 |
header=False | 不输出列名的一行 |
index=False | 不输出索引的一行 |
cols | 输出指定的列 |
实战操作
01-读取股票数据
get_price():可以得到股票数据,语法格式如下:
get_price(security,start_date=None,end_date=None,frequency="daily",fields=None,skip_paused=False,fq="pre",count=None)
get_price()函数可以按天或者按分钟读取数据,各项参数含义如下:
- security:一只股票代码或一只股票代码的list
- start_date:开始时间,与参数count二选一,不可同时使用。需要注意的是,如果参数count和start_date都没有设置,则start_date生效值为:"2015-01-01"
- end_date:结束时间,默认值是"2015-12-31",
- frequency:单位时间长度,几天或几分钟,默认为daily.也可以是minute、Xd、Xm.X表示几的意思
- fileds:字符串list,选择要获取行情的数据,默认为None。参数Fields支持SecurityUnitDate中所有的数据 ,包含
- open close low high volume money factor high_limit low_limit avg pre_close paused
- skip_pasued:是否跳过不交易日期
- fq:复权选项。参数值设为pre,表示前复权,为默认设置。参数权设为None,表示不复权,返回实际价格,参数值设为post,表示后复权
03-Pandas详解
今日热讯:ChatGPT能做什么?零基础教你免费使用ChatGPT和账号注册
当前速看:美团面试失败后,翻了两年前的面试题,发现根本不是一个难度的
当前简讯:Linux安装
Spring Boot发送GET/POST请求——RestTemplate的基本使用
当前报道:自研指令集没有侵权MIPS 国产CPU龙芯赢了:摆脱官司
当前讯息:自燃车辆引燃邻车 损失谁来赔?法院释疑
天天最新:基于 eBPF 的 Serverless 多语言应用监控能力建设
世界最新:构建亿级别的消息推送基础模型
全球热文:Linux开源工具之nethogs命令介绍
精选!COBOL教程_编程入门自学教程_菜鸟教程-免费教程分享
华硕发布新款Vivobook 13 Slate笔记本:Intel 7W超低功耗U
今日精选:3岁女童喊脚疼被确诊癌症晚期:神经母细胞瘤 儿童癌症之王
天天微速讯:剧版《三体》弹幕互动量破2000万!豆瓣涨至8.3分
【热闻】iPhone 15 Ultra狂堆料!价格可能贵出天际
环球热议:全球不足50人!宝鸡发现1例罕见黄金血型:比熊猫血更稀有
环球资讯:ASP.Net Core 教程_编程入门自学教程_菜鸟教程-免费教程分享
ChatGPT保姆级注册教程
group by 、concat_ws()、 group_caoncat()的使用
全球热头条丨Jedis那么低性能,还在用吗? lettuce时代开幕啦
热资讯!阿里IM技术分享(十):深度揭密钉钉后端架构的单元化演进之路
强震已致超7700人遇难!土耳其地震背后的人祸 建筑不达标、豆腐渣工程多
全球热议:全球首架国产大飞机C919首飞三亚 民航最高接待礼“过水门”接风
环球关注:iPhone 15 Pro系列拿到三星顶级屏幕!超出S23系列整整两代
全球消息!高级Excel教程_编程入门自学教程_菜鸟教程-免费教程分享
重点聚焦!Serverless 时代开启,云计算进入业务创新主战场
【天天报资讯】Go的参数是传值还是传引用问题
【环球聚看点】【踩坑记录】单测中@PostConstruct多次执行
免费无广告 微软电脑管家2.7公测版发布:任务栏被意外修改有救了
4599元!佳能EOS R50发布:329克超轻便 支持无裁切6K
天天信息:研发10几年、花费千亿:日本国产大飞机为何失败?就是畸形产物
全球微速讯:LV将涨价?国人排长龙抢购 买万元包像在赶集:世界首富曾感慨中国用户有钱
高级Excel图表教程_编程入门自学教程_菜鸟教程-免费教程分享
Apache ANT 教程_编程入门自学教程_菜鸟教程-免费教程分享
焦点播报:算法学习笔记(15): Trie(字典树)
今日讯!火山引擎 DataTester“智能发布”:覆盖产品研发、测试、上线全流程,一站式智能管理 A/B 实验
DB2教程_编程入门自学教程_菜鸟教程-免费教程分享
马斯克将于3月1日公布特斯拉宏图第三篇章 第二篇章已烂尾
世界观速讯丨国产车企1:1复刻几十年前的MINI外观专利 宝马抗议!结果判了
【独家焦点】真心没想到!五旬男子开车撞上护栏:只因刚割了双眼皮
全球热消息:全世界最后一只袋狼究竟是怎么死的?
民企第一只 京东仓储REIT上市:认购额超718亿元遭疯抢
当前视讯!C#(进制转换) NumberConversion
ChatGPT国内也能用吗?ChatGPT国内镜像站点分享给你们
微动态丨暴躁小钢炮!极氪X实车亮相:零百加速3秒级
环球微速讯:《仙剑奇侠传》《和平精英》梦幻联动:赵灵儿端枪吃鸡
啥身材都能包!真维斯连帽卫衣大促:日常100元 现价50到手
6年来苹果iPhone涨价近50% 还会继续涨 库克不怕没人买
《流浪地球2》导演郭帆:国产科幻片工业流程还是初级 吃饭都会出大错误
童话二分之一的大结局是什么?童话二分之一演员表
金棕色适合什么肤色?金棕色和金栗色茶色的区别有哪些?
回避型人格障碍的表现有哪些?回避型人格障碍怎么治疗?
天天快资讯丨袋鼠云数栈UI5.0焕新升级,全新设计语言DT Design,更懂视觉更懂你!
【世界热闻】芯驿电子发布车载系列产品全新品牌AUMO
速讯:仿制作图《这里是中国》封面
【天天播资讯】spring注解
升学宴是什么意思?学生升学宴家长答谢宴致辞
货柜标准尺寸是多少?货柜集装箱尺寸规格表
淘宝换购是什么意思?淘宝换购的东西是正品吗?
笔记本键盘怎么拆卸?笔记本电脑键盘拆卸方法
ddr2内存条还能用吗?ddr2和ddr3的区别有哪些?
爱奇艺弹幕开关在哪里?爱奇艺怎么关闭弹幕?
手机微信语音电话接不到是什么原因?手机微信语音没有声音是怎么回事?
观点:零跑汽车创始人:有信心在一些环节超越特斯拉
【全球热闻】大六缸白菜价!马自达CX-90售价公布:约27.8万元起
美国计划强制让电动汽车“发声” 20多年的老车也不放过
环球热资讯!冷空气今起发货!江南等地暴雨北方局地暴雪 出行注意
人民日报评智能电视套路收费:广告无法消除、会员一充再充
必应、Edge拥抱ChatGPT 微软一晚大赚5400多亿:AI时代已到
焦点报道:女子网上买iPhone 14收到一堆铁片 京东自营退一赔一
天天日报丨用ChatGPT搞钱年入百万!各路博主发布生财之道 网友回呛
今日讯!比亚迪秦PLUS DM-i 2023冠军版宣布2月10日发布:车机、续航全升级
精选!特斯拉跌落神坛?辅助驾驶横评仅得第七
必知必会的设计原则——依赖倒置原则
难怪发质没有变好!这么多年用吹风机竟用错了
每日快看:PC 10年来最大跌幅 2023依然寒气逼人:复活要靠Win10“死亡”
全球通讯!优化渣?《霍格沃兹之遗》3A游戏被指太吃硬件:8GB显存都不好意思打招呼
坐拥千万粉丝医生称女子因洁牙感染梅毒?口腔机构回应 权威科普来了
读Java实战(第二版)笔记04_用流收集数据
世界今热点:告别OLED!苹果2025年商用microLED:克服烧屏问题
【世界时快讯】一加杀入平板领域!一加Pad发布:天玑9000加持
观点:女子存款5万需提供个人收入证明引热议:回应来了
一文了解WiFi 7优势:网速快不是最大看点
全球聚焦:男子网恋5年转给对方1700万被骗 还是已婚男人:网友崩溃
全球信息:Go学习资料
阿里云产品-智能语音交互快速测评
世界快讯:“ChatGPT中文版”上线:遭国内网友爆破
三十年了 钠离子电池总算熬出头!取代铅酸、把锂价打下去
环球热门:女子取药时发现医生用手机追剧引争议 医院回应:核实后会处罚
看完狗头萝莉、胡鑫宇的遭遇 我想聊聊自杀这件事
当前头条:亚洲第一!中国火箭发动机试车台传喜讯
【全球报资讯】【LeetCode哈希表#4】梦开始的地方:两数之和(map),以及关于容器map的一些代码技巧
【全球独家】18寸终极发烧游戏本!ROG枪神7 Plus超竞版评测:首发i9-13980HX多核暴涨40%
杭州法华寺月薪8万招聘和尚?传授72绝技?假的
铁锅“”开锅“”有科学依据吗?为什么厂家不帮忙弄好?
《分布式技术原理与算法解析》学习笔记Day04
【独家】ASP.NET Core+Element+SQL Server开发校园图书管理系统(四)
快消息!E. Monsters (hard version)
日本国产大飞机研发失败:研发耗时十余年
当前视讯!大批《LOL》玩家逃离国服挤爆台服 拳头调查处理中