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])

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux 网络编程】OSI 七层模型初识、网络传输的流程、IP地址和MAC地址!

文章目录 1. OSI七层模型2. TCP/IP五层(或四层)模型3. 网络传输基本流程 🐧🐧🐧🐧🐧🐧🐧🐧🐧🐧🐧🐧🐧🐧&#…

Golang | Leetcode Golang题解之第127题单词接龙

题目: 题解: func ladderLength(beginWord string, endWord string, wordList []string) int {wordId : map[string]int{}graph : [][]int{}addWord : func(word string) int {id, has : wordId[word]if !has {id len(wordId)wordId[word] idgraph a…

Flink系列三:Flink架构、独立集群搭建及Flink on YARN模式详解

一、Flink架构 Flink 是一个分布式系统,需要有效分配和管理计算资源才能执行流应用程序。它集成了所有常见的集群资源管理器,例如Hadoop yarn,但也可以设置作为独立集群甚至库运行。 Flink 集群剖析 Flink 运行时由两种类型的进程组成&…

数据分析常用模型合集(一)AARRR模型和漏斗模型

准备把常用的数据分析模型,像什么AARRR,RFM之类的,逐个全部写一下; 最好能带点案例和代码,搞一个小合集。 最终达到完全不懂的人,看完就能知道得差不多; 数据分析常用模型合集(二…

TiDB-从0到1-分布式存储

TiDB从0到1系列 TiDB-从0到1-体系结构TiDB-从0到1-分布式存储TiDB-从0到1-分布式事务TiDB-从0到1-MVCC 一、TiDB-DML语句执行流程(增删改) DML流程概要 1、协议验证 用户连接到TiDB Server后首先工作的是Protocol Layer模块,该模块会对用…

FuTalk设计周刊-Vol.046

# AI漫谈 热点捕手 1、Stable Diffusion 可以生成透明的 PNG 图片了 用 SD 直接生成透明的 PNG 图片,也可以直接生成带有透明度分层的图片,LayerDiffusion 使得大型已经过预训练的潜在扩散模型(latent diffusion model)能够创造…

docker学习--最详细的docker run 各子命令解释与应用

文章目录 docker run应用docker run -it那怎样才能退出容器而不用容器关闭呢 docker run -d-p-P--name docker run 容器运行命令 docker run 常见的子命令及其含义 -i 交互式,和-t一起使用 -t 打开一个终端 -d 后台运行 -p/-P 暴露容器中的服务端口 –name 指定容…

计算机组成原理----浮点数的表示和运算

目录 一.浮点数的表示 1.浮点数的作用和基本原理 2.浮点数的规格化 3.浮点数的表示范围 二.IEEE 754标准 三.浮点数的加减运算 1.加减运算 2.强制类型转换 一.浮点数的表示 1.浮点数的作用和基本原理 定点数在字节数固定的情况下,能表示的数字是很有限的&…

C++ | Leetcode C++题解之第128题最长连续序列

题目&#xff1a; 题解&#xff1a; class Solution { public:int longestConsecutive(vector<int>& nums) {unordered_set<int> num_set;for (const int& num : nums) {num_set.insert(num);}int longestStreak 0;for (const int& num : num_set) {…

SAP PP学习笔记15 - MTS(Make-to-Stock) 按库存生产(策略11,策略30)

上一章学习了MTS&#xff08;Make-to-Stock&#xff09;按库存生产&#xff08;策略10&#xff09;。 SAP PP学习笔记14 - MTS&#xff08;Make-to-Stock) 按库存生产&#xff08;策略10&#xff09;&#xff0c;以及生产计划的概要-CSDN博客 本章继续讲MTS&#xff08;Make-t…

Prism 入门01,基础

Prism 框架是支持多平台的一种MVVM框架(Model-View-ViewModel) 除了具备一些基础的属性通知绑定,命令操作,消息聚合器等功能外。还具备一些强大的功能:例如,区域,导航,会话服务,模块注入等特性。 一.如何在WPF 项目中使用Prism 框架 1.打开Visual Studio 2022,选择创…

Java | Leetcode Java题解之第128题最长连续序列

题目&#xff1a; 题解&#xff1a; class Solution {public int longestConsecutive(int[] nums) {Set<Integer> num_set new HashSet<Integer>();for (int num : nums) {num_set.add(num);}int longestStreak 0;for (int num : num_set) {if (!num_set.contai…

边缘计算的AI小板——OrangePi AI Pro

简介 OrangePi AI Pro是一款基于Allwinner H6处理器的嵌入式AI计算设备&#xff0c;适用于物联网和边缘计算。它具有强大的性能、低功耗、多接口和小尺寸。 本文分为三个部分&#xff1a; 一、对该板进行简单的开箱介绍。 二、 将SD卡中的系统迁移到由于该板支持SD卡、SSD…

Python代码关系图生成,帮助快速熟悉一个项目

一、静态代码关系图 工具1、pyreverse pyreverse 是一个由 Logilab 开发的 Python 工具&#xff0c;它能够自动生成 UML (统一建模语言) 类图&#xff0c;这些类图基于 Python 源代码。pyreverse 可以分析 Python 代码&#xff0c;并从中提取出类、模块、函数、方法和它们之间…

Java项目:94 springboot大学城水电管理系统

作者主页&#xff1a;源码空间codegym 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本管理系统有管理员和用户。 本大学城水电管理系统管理员功能有个人中心&#xff0c;用户管理&#xff0c;领用设备管理&#xff0c;消耗设备…

docker和docker-compose的安装

docker的安装 1.安装 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun2.设置开机自启动 systemctl start docker #启动docker systemctl enable docker3.配置阿里云镜像 不配置镜像的话&#xff0c;进行 docker pull 等操作会比较慢。进入阿里云&…

【MySQL】聊聊order by 是如何排序的

CREATE TABLE t (id int(11) NOT NULL,city varchar(16) NOT NULL,name varchar(16) NOT NULL,age int(11) NOT NULL,addr varchar(128) DEFAULT NULL,PRIMARY KEY (id),KEY city (city) ) ENGINEInnoDB;构建一个表结构&#xff0c;以及数据。 本篇主要来分析下order by是如何进…

SpringBoot 定时任务+Quartz

1、分部解释2、整体代码 前言&#xff1a; 1、定时任务技术&#xff1a; JDK 的 Timer&#xff0c; 定义多个定时任务&#xff0c;其中某个任务出现异常&#xff0c;当时整个定时任务终止。Spring Task &#xff0c; 不支持 持久化与分布式部署&#xff0c;所有任务是单线程执行…

【RPG Maker MV 仿新仙剑 战斗场景UI (九)】

RPG Maker MV 仿新仙剑 战斗场景UI 九 前言角色战斗精灵精灵图设置攻击 战斗背景图 前言 前段天研究并完成了主角人物行走图部分的开发&#xff0c;完成了对应的8方向行走&#xff0c;及精灵的展示。现在开始重新回到战斗场景的开发中&#xff0c;回顾下&#xff0c;已完成功能…

植物大战僵尸杂交版(最新版)

杂交版1.0文件链接 链接&#xff1a;https://pan.baidu.com/s/1Ew6iTg0_d_Ut8N9_18KGLw 提取码&#xff1a;yspa 杂交版2.0文件链接 链接:https://pan.baidu.com/s/1tuchowb4C_oNT6EpqSvr_w?pwdy2fz 提取码:y2fz