python数据分析——datetime数据类型2

参考资料:活用pandas库

# 导入pandas库
import pandas as pd
# 加载数据集
tesla=pd.read_csv(r"...\data\tesla_stock_yahoo.csv")
# 查看数据
print(tesla.head())

1、基于日期取数据子集

# 将Date数据列转换为datetime类型
tesla['Date']=pd.to_datetime(tesla['Date'])
# 查看2010年6月的数据
tesla[(tesla.Date.dt.year==2010) & (tesla.Date.dt.month==6)]

(1)DatetimeIndex对象

        在处理包含datetime的数据时,经常需要datetime对象设置成DataFrame的索引。把索引设置为日期对象之后,就可以直接使用日期来获取某些数据行了,如根据年份来获取部分数据,也可以根据年份和月份来获取数据。

# 将Date设置为索引
tesla.index=tesla['Date']
# 展示索引
print(tesla.index)# 获取2015年的数据
print(tesla['2015'].iloc[:5,:5])# 获取2015年6月的数据
print(tesla['2015-06'].iloc[:5,:5])

(2)TimedeltaIndex对象

# 创建一个timedelta
tesla['ref_date']=tesla['Date']-tesla['Date'].min()
# 将此timedelta设置为索引
tesla.index=tesla['ref_date']
# 数据展示
print(tesla.iloc[:5,:5])# 筛选数据
print(tesla.loc['0 day':'5 day'].iloc[:5,:5])

2、日期范围

        并非每个数据集的值都有固定的频率,可以通过date_range函数来创建一个日期范围来为数据集重建索引。

# 读取数据集
ebola=pd.read_csv(r"...\data\country_timeseries.csv",parse_dates=[0])
# 展示数据
print(ebola.iloc[:5,:5])# 指定日期范围
head_range=pd.date_range(start='2014-12-31',end='2015-01-05')
print(head_range)
ebola5=ebola.head()
ebola5.index=ebola5['Date']
ebola5.reindex(head_range)
print(ebola5.iloc[:,:5])

(1)频率

        pandas的date_range函数有一个参数freq,其默认值为D(代表day),表示日期范围内的值是逐日递增的。

别名说明别名说明
B工作日QS季度初
C自定义工作日BQS季度初工作日
D日历日A年末
W每周BA年末工作日
M月末AS年初
SM

月中和月末

(每月第15天和月末)

BAS年初工作日
BM月末工作日BH工作时间
CBM自定义月末工作日H小时
MS月初T分钟
SMS

月初和月中

(每月第1天和第15天)

S
BMS月初工作日L毫秒
CBMS自定义月初工作日U微秒
Q季度末N纳秒
BQ季度末工作日
# 输出2017年1月1日至7日所有的工作日
print(pd.date_range('2017-01-01','2017-01-07',freq='B'))

(2)偏移量

        偏移量是在基本频率基础上做的一点调整。如下:

# 从2017年1月1日这周每隔一天取一个工作日
print(pd.date_range('2017-01-01','2017-01-07',freq='2B'))# 2017年每个月的第一个星期四
print(pd.date_range("2017-01-01","2017-12-31",freq="WOM-1THU"))# 2017年每个月的第三个星期五
print(pd.date_range("2017-01-01","2017-12-31",freq="WOM-3FRI"))

3、重采样

        重采样会把datetime从一个频率转换为另一个频率。重采样有如下3类。

        (1)下采样:从高频率到低频率(比如从每天到每月)

        (2)上采样:从低频率到高频率(比如从每月到每天)

        (3)原样采样:采样频率不变(比如从每月的第一个星期四到每月的最后一个星期五)

# 下采样:从每天到每月
# 这里有多个值,需要把结果聚合起来
# 这里用mean函数
ebola.index=ebola.Date
down=ebola.resample('M')
print(type(down))
print(down.mean().iloc[:5,:5])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/21138.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习笔记——网络参考模型——TCP/IP模型(传输层)

四、TCP/IP模型-传输层 一、TCP 1、TCP定义 TCP(Transmission Control Protocol,传输控制协议)∶为应用程序提供可靠的面向连接的通信服务。目前,许多流行的应用程序都使用TCP。 连接:正式发送数据之前,提前建立好一种虚拟的&…

ES6-03-模版字符串、对象的简化写法

一、模版字符串 1-1、声明 反引号。 1-2、特性 1、字符串内容可以直接换行 得用号连接 2、变量拼接 现在: 二、对象的简化写法 ES6允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。 let name milk;let chage function(){con…

脚本实现登陆滑块

脚本实现登陆滑块 仅供学习参考,简单操作 你知道吗,滑动验证码居然是为了验证人类比机器人蠢而设计的。 你以为自己快速、准确地滑动拼图、对齐图案,才被允许通过,系统还说你超越了99%的用户,夸你“比闪电还快”&am…

STM32_SPI

1、SPI简介 1.1 什么是SPI SPI,即Serial Peripheral Interface,串行外设接口。SPI是一种高速的、全双工、同步的串行通信总线;SPI采用主从方式工作,一般有一个主设备和一个或多个从设备;SPI需要至少4根线,…

FLINK-窗口算子

参考资料 官方文档- WindowFlink中的时间和窗口之窗口 窗口 在流处理中,我们往往需要面对的是连续不断、无休无止的无界流,不可能等到所有所有数据都到齐了才开始处理。所以聚合计算其实只能针对当前已有的数据——之后再有数据到来,就需要继…

chat4-Server端保存聊天消息到mysql

本文档描述了Server端接收到Client的消息并转发给所有客户端或私发给某个客户端 同时将聊天消息保存到mysql 服务端为当前客户端创建一个线程,此线程接收当前客户端的消息并转发给所有客户端或私发给某个客户端同时将聊天消息保存到mysql 本文档主要总结了将聊天…

JavaWeb_SpringBootWeb基础

先通过一个小练习简单了解以下SpringBootWeb。 小练习: 需求:使用SpringBoot开发一个Web应用,浏览器发起请求/hello后,给浏览器返回字符串"Hello World~"。 步骤: 1.创建SpringBoot项目,勾选We…

epoll模型下的简易版code

epoll模型下的简易版code c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/epoll.h> #include <fcntl.h>#define MAX_EVENTS 10 #define NUM_DESCRIPTORS 5 // 模拟多个文件描述符// …

工具类解决事务和过滤器解决事务

事务的四大特性ACID 原子性&#xff1a;强调事务的不可分割.多条语句要么都成功&#xff0c;要么都失败。 一致性&#xff1a;强调的是事务的执行的前后&#xff0c;数据要保持一致 隔离性&#xff1a;并发访问数据库时,一个事务的执行不应该受到其他事务的干扰. 持久性&#…

测试:ollama加载羊驼版本llama-3中文大模型

找了一个晚上各种模型&#xff0c;像极了当初找各种操作系统的镜像&#xff0c;雨林木风&#xff0c;深蓝、老毛桃…… 主要是官方的默认7B版本回答好多英文&#xff0c;而且回复的很慢&#xff0c;所以我是在ollama上搜索"chinese"找到了这个羊驼版本的&#xff0c…

crossover软件是干什么的 crossover软件安装使用教程 crossover软件如何使用

CrossOver 以其出色的跨平台兼容性&#xff0c;让用户在Mac设备上轻松运行各种Windows软件&#xff0c;无需复杂的设置或额外的配置&#xff0c;支持多种语言&#xff0c;满足不同国家和地区用户的需求。 CrossOver 软件是干嘛的 使用CrossOver 不必购买Windows 授权&#xf…

Winform ListView 嵌入组合框、布尔、图片等复杂控件

一、Winform ListView 显示复杂控件示例 以下展示了两种实现思路方案。最后修改日期 2024-05 surfsky 1.1 方案一&#xff1a;ListView 结合组合框进行模拟编辑 基本思路 在界面上放置一个lisview和一个combobox&#xff0c;combobox平时是隐藏的。点击listview&#xff0c…

521源码-源码论坛-宝塔面板操作日志是存放在哪里的? 如何删除部分日志记录

我们帮别人搭建或者登录了&#xff08;不是自己权属的宝塔面板&#xff09;&#xff0c;会留下登录及操作的日志&#xff0c;我们不想留下这些操作日志&#xff0c;可以通过下面的方法处理掉&#xff0c;以达到无痕迹访问操作的目的&#xff1a; 如图所示的面板操作日志&#…

Python-3.12.0文档解读-内置函数sum()详细说明+记忆策略+常用场景+巧妙用法+综合技巧

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 详细说明 sum(iterable, /, start0) 参数&#xff1a; 返回值&#xff1a; 注意事…

排序方法大汇总

以下所有排序方法均以排升序为例 一.插入排序 1.直接插入排序 1>方法介绍&#xff1a;假定前n个数据有序&#xff0c;将第n1个数据依次与前n个数据相比&#xff0c;若比第i个数据小且比第i-1个数据大则插入两者之间 2>时间复杂度&#xff1a;O(N^2) 空间复杂度&#…

BUUCTF中的密码题目解密

BUUCTF 1.MD5 题目名称就是MD5&#xff0c;这个题目肯定和md5密码有关&#xff0c;下载题目&#xff0c;打开后发现这确实是一个md5加密的密文 Md5在线解密网站&#xff1a;md5在线解密破解,md5解密加密 经过MD5在线解密网站解密后&#xff0c;获取到flag为&#xff1a;flag{…

网络编程TCP

White graces&#xff1a;个人主页 &#x1f649;专栏推荐:Java入门知识&#x1f649; &#x1f649; 内容推荐:Java网络编程(下)&#x1f649; &#x1f439;今日诗词: 壮士当唱大风哥, 宵小之徒能几何&#xff1f;&#x1f439; ⛳️点赞 ☀️收藏⭐️关注&#x1f4ac;卑微…

CentOS7单用户模式,救援模式操作记录

CentOS7单用户模式&#xff0c;救援模式操作记录 1. 单用户模式 单用户模式进入不需要密码&#xff0c;无网络连接&#xff0c;拥有root权限&#xff0c;禁止远程登陆。一般用于用于系统维护&#xff0c;例如忘记root密码后可以通过进入单用户模式进行重置。 开机启动&#…

数据结构 实验 1

题目一&#xff1a;用线性表实现文具店的货品管理问题 问题描述&#xff1a;在文具店的日常经营过程中&#xff0c;存在对各种文具的管理问题。当库存文具不足或缺货时&#xff0c;需要进货。日常销售时需要出库。当盘点货物时&#xff0c;需要查询货物信息。请根据这些要求编…

使用低代码系统的意义与价值主要体现在哪里?

使用低代码系统的意义与价值主要体现在以下几个方面&#xff0c;这些观点基于驰骋低代码设计者的专业洞察和行业经验&#xff1a; 快速原型创建&#xff1a; 低代码平台通过提供图形化界面和预构建的模块&#xff0c;极大地加速了系统原型的创建过程。这意味着企业能够更快地验…