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

参考资料:活用pandas库

1、python的datetime对象

# 导入datetime对象
from datetime import datetime# 获取当前日期和时间
now=datetime.now()
print(now)# 手动创建datetime
t1=datetime.now()
t2=datetime(1970,1,1)
# 对datetime做数学运算
diff=t1-t2
print(diff)
# 查看运算结果的数据类型
print(type(diff))

2、转换为datetime

        可以使用to_datetime函数把一个对象转换为datetime类型。

# 导入pandas库
import pandas as pd
# 读取数据集
ebola=pd.read_csv(r"...\data\country_timeseries.csv")
# 获取左上角数据
print(ebola.iloc[:5,:5])
# Date列包含日期信息,但info方法的结果显示仅为普通字符串类型
print(ebola.info())
# 使用pd.to_datetime擦混关键datetime类型数据列
# 方法1
ebola['dt']=pd.to_datetime(ebola['Date'])
# 方法2
ebola['dt2']=pd.to_datetime(ebola['Date'],format="%m/%d/%Y")
print(ebola.info())

        对于文本的日期格式,可以使用python的strptime语法手动指定表示方法。常见表示方法如下:

符号含义示例
%a星期的英文缩写Sun, Mon,...,Sat
%A星期的英文全称Sunday, Monday, ..., Saturday
%w以数字表示星期,0为周日0,1,2,3,4,5,6
%d一个月的每一天(两个数字)01,02,...,31
%b月份的英文缩写Jan, Feb, ..., Dec
%B月份的英文全称January, Februray,..., December
%m月份(两位数字)01, 02, ..., 12
%y年份(两位数字)00, 01,..., 99
%Y年份(四位数字)2023, 2024, ..., 9999
%H小时(两位数,24小时制)00, 01, ..., 23
%I小时(两位数,12小时制)01, 02, ..., 12
%pAM或PMAM, PM
%M分钟(两位数)00, 01, ..., 59
%S秒(两位数)00, 01, ..., 59
%f微秒000000,000001, ..., 999999

3、加载包含日期的数据

        pd.read_csv函数有很多参数,如parse_dates、inher_datetime_format、keep_date_col、date_parser和dayfirst,可以处理日期数据。在使用read_csv加载数据集时,可以直接在parse_dates参数中指定想要解析为日期的列。

ebola=pd.read_csv(r"...\data\country_timeseries.csv",parse_dates=[0])
print(ebola.info())

4、提取日期的各个部分

# 将字符串转换为timestamp对象
d=pd.to_datetime('2024-5-27')
# 显示数据类型
print(type(d))
# 年
print(d.year)
# 月
print(d.month)
# 日
print(d.day)

# 对datetime类型数据进行整列操作
ebola['year']=ebola['Date'].dt.year
ebola['month']=ebola['Date'].dt.month
ebola['day']=ebola['Date'].dt.day
print(ebola[['Date','year','month','day']].head())
print(ebola[['Date','year','month','day']].info())

5、日期运算和Timedelta

# 对datetime数据进行减法运算,会得到一个timedelta对象
ebola['outbreak_d']=ebola['Date']-ebola['Date'].min()
print(ebola[['Date','Day','outbreak_d']].head())
print(ebola[['Date','Day','outbreak_d']].tail())
print(ebola[['Date','Day','outbreak_d']].info())

6、datetime方法

# 导入数据集
banks=pd.read_csv(r"...\data\banklist.csv",parse_dates=[5,6])
# 查看数据列信息
print(banks.info())
# 添加两列信息,分别表示银行破产的季度和年份
banks['closing_quarter']=banks['Closing Date'].dt.quarter
banks['closing_year']=banks['Closing Date'].dt.year
# 计算每年破产的银行数量
closing_year=banks.groupby(['closing_year'])['Bank Name'].count()
# 也可以计算每年每季度破产的银行数量
closing_year_q=banks.groupby(['closing_year','closing_quarter'])['Bank Name'].count()
# 绘制图形
import matplotlib.pyplot as plt
closing_year_q.plot()

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

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

相关文章

儿童节快乐!探索图形化编程桌面的“童年”成长之路

在这个充满童真与快乐的儿童节,我要向在CSDN平台上努力拼搏的每一位朋友,送上我最热切、最深情的祝福!愿你们心中那份孩童般的纯真与对世界无尽的好奇永不褪色,愿你们的人生道路如同这个美好的节日,流光溢彩、欢乐永恒…

lynis安全漏洞扫描工具

Lynis是一款Unix系统的安全审计以及加固工具,能够进行深层次的安全扫描,其目的是检测潜在的时间并对未来的系统加固提供建议。这款软件会扫描一般系统信息,脆弱软件包以及潜在的错误配置。 安装 方式1 git下载使用git clone https://github…

docker compose完成简单项目部署

1. 项目环境 centos7 docker mysql redis ruoyi项目 ruoyi项目链接:https://gitee.com/y_project/RuoYi-Vue.git 2. 进行项目前后端代码打包 后端打包: 修改mysql连接的相关配置文件 RuoYi-Vue/ruoyi-admin/src/main/resources/application-dru…

浙江零排参加全国水科技大会暨技术装备成果展览会(成都)并作主论坛演讲

2024年5月13日-15日中华环保联合会、福州大学、上海大学等联合举办的2024年全国水科技大会暨技术装备成果展览会在成都顺利举办。浙江零排城乡规划发展有限公司司受邀参加,首日有幸听取徐祖信院士、任洪强院士、汪华林院士等嘉宾的主旨报告。主旨报告后,…

Java过滤特殊空格nbsp;

现象: 用Java处理excel文件中的以下字符串时,想去除此空格,却发现用String.trim()没有直到预期效果: 原因: 在网上找了下,应该是这其实是html中经常使用的一种特殊空格字符  处理&a…

第八十九周周报

学习目标: 论文 学习时间: 2024.05.25-2024.05.31 学习产出: 一、论文 SAN: INDUCING METRIZABILITY OF GAN WITH DISCRIMINATIVE NORMALIZED LINEAR LAYER 将GAN与切片最优输运联系起来,提出满足方向最优性、可分离性和单射…

DBeaver连接Elasticsearch

一、下载DBeaver 二、连接: 1、一定要选择开源的 Open Distro Elasticsearch 2、填写地址: 3、选择“URL”,将https改为http 否则会报SSL错误 4、测试连接

C语言 | Leetcode C语言题解之第123题买卖股票的最佳时机III

题目&#xff1a; 题解&#xff1a; #define max(a, b) ((a) < (b) ? (b) : (a))int maxProfit(int* prices, int pricesSize) {int buy1 -prices[0], sell1 0;int buy2 -prices[0], sell2 0;for (int i 1; i < pricesSize; i) {buy1 max(buy1, -prices[i]);sell…

与牢霍沟通——Linux操作系统原理

硬件层 计算机由何组成&#xff1f; 我们现在手中的计算机&#xff0c;无论配置如何&#xff0c;是笔记本还是台式&#xff0c;都由三部分构成&#xff1a; 输入设备&#xff1a;键盘&#xff0c;鼠标...中央处理器&#xff1a;cpu&#xff0c;显卡&#xff0c;磁盘...输出设…

Vue 框选区域放大(纯JavaScript实现)

需求&#xff1a;长按鼠标左键框选区域&#xff0c;松开后放大该区域&#xff0c;继续框选继续放大&#xff0c;反向框选恢复原始状态 实现思路&#xff1a;根据鼠标的落点&#xff0c;放大要显示的内容&#xff08;内层盒子&#xff09;&#xff0c;然后利用水平偏移和垂直偏…

14-alert\confirm\prompt\自定义弹窗

一、认识alert\confirm\prompt 下图依次是alert、confirm、prompt&#xff0c;先认清楚长什么样子&#xff0c;以后遇到了就知道如何操作了。 二、alert操作 先用driver.switch_to.alert方法切换到alert弹出框上&#xff1b;可以用text方法获取弹出的文本信息&#xff1b;acce…

Spring Cloud | 客户端 “负载均衡器“ : Ribbon

目录: 1. 什么是 "负载均衡" ? ( 通过 "负载均衡" 可以将 "用户请求" "分发" 到 不同的服务器&#xff0c;以此来提高 "性能" 和 "可靠性" )2. "负载均衡" 的 分类 &#xff1f;3. 认识 Ribbon :3.1 R…

【蓝桥杯国赛】动态规划

“动态规划”在蓝桥杯中的出题类型&#xff0c;主要为两种&#xff0c; 要格外注意&#xff0c;每一次 dp 的迭代更新&#xff0c;都是针对于当前位置下的“所有情况”进行的&#xff0c; 应着眼于当前位置的每一种情况。 类型一&#xff1a;一共有多少种情况&#xff1f; 1…

使用 Apache Commons Exec 自动化脚本执行实现 MySQL 数据库备份

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

Part 3.1 深度优先搜索

深度优先搜索&#xff08;DFS&#xff09;&#xff0c;即按照深度优先的顺序搜索的算法。 深度优先搜索一般使用栈来实现。 [USACO1.5] 八皇后 Checker Challenge 题目描述 一个如下的 6 6 6 \times 6 66 的跳棋棋盘&#xff0c;有六个棋子被放置在棋盘上&#xff0c;使得…

go解析yaml

go解析yaml文件关键就是结构体的创建 初学go tag字段要和yaml文件中的key对应起来&#xff0c;每个层级都要创建对应的结构体&#xff0c;有点烦 package configimport ("gopkg.in/yaml.v3""os" )type Config struct {MysqlConfig MysqlConfig yaml:&q…

开发nfc读卡器应用出现报错Unhandled Exception: SCARD_E_NO_SERVICE

使用flutter开发ACR122U的nfc读卡器的时候&#xff0c;报错&#xff1a; [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Exception: Error while establing context. Reason: SCARD_E_NO_SERVICE #0 PCSCBinding._checkAndThrow (package:fl…

Flink实现实时异常登陆监控(两秒内多次登陆失败进行异常行为标记)

Flink实现异常登陆监控&#xff08;两秒内多次登陆失败进行异常行为标记&#xff09; 在大数据处理领域&#xff0c;Apache Flink 是一个流行的开源流处理框架&#xff0c;能够高效处理实时数据流。在这篇博客中&#xff0c;我们将展示如何使用 Apache Flink 从 MySQL 中读取数…

科研数据分析常见问题

许多使用SPSSAU进行初次科研数据分析的同学&#xff0c;可能对数据分析方法的深层原理和研究思路缺乏全面的把握。因此&#xff0c;当导师针对数据研究方法提出具体问题时&#xff0c;他们可能会感到些许困惑或难以立即给出满意的答复。鉴于此&#xff0c;SPSSAU汇总了一些常见…

【工具】创客贴会员|创客贴截止2024年6月所有AI功能效果实测(热门推荐和图片编辑部分)

上一篇&#xff1a;【工具】创客贴会员&#xff5c;万字测评&#xff01;前沿设计网站创客贴的 AI 文生图效果测评 上一篇写的时候只测了文生图&#xff0c;因为百度那边活动没和创客贴接洽好&#xff0c;他们不清楚创客贴的AI和其他会员功能分开了&#xff0c;导致只有10次体…