python、pandas、Excel、Powerbi中对日期的处理方法
主要针对datetime类型的时间
以下为用举例的方式来说明在不同场景下,使用不同工具处理时间的方法
1、python对日期的处理
- 功能1:日期相减后天数差值和秒差值
dt = datetime(2020, 1, 2, 2, 45, 2)
dt1 = datetime(2020, 1, 4, 0, 0, 1)
dx = dt1 - dt
dx.days,dx.seconds
- 功能2:获取日期中的天数、分钟数、年月日组合、时分秒组合
dt.day
dt.minute
dt.date()
dt.time()
- 功能3:格式化输出日期:
dt.strftime('%m/%d/%Y %H:%M')
# 01/02/2020 02:45
类型 | 描述 |
---|---|
%Y | 四位的年份 |
%y | 两位的年份 |
%m | 两位的月份 [01,12] |
%d | 两位的天数值 [01,31] |
%H | 小时制(24小时制)[0,23] |
%I | 小时制(12小时制)[01,12] |
%M | 两位的分钟值[00,59] |
%S | 秒值[00,61] (60,61)用于区分闰秒 |
%w | 星期值[0(星期天),6] |
%U | 一年中的第几个星期[00,53] |
%F | %Y-%m-%d的缩写 |
%D | %m/%d/%y的缩写 |
2、SQL对日期的处理
- 功能1:日期相减(判断间隔是否1天)
方式:
DATEDIFF(今天.date,昨天.date) = 1
- 功能2:分年查询
select year(makedate) as year, count(id) as total from tb_record group by year;
- 功能3:判断时间区间(between…and…)
SELECT # 仅在2019年春季售出的产品DISTINCT s.product_id,p.product_name
FROMSales AS sINNER JOIN Product AS pON s.product_id = p.product_id
WHEREs.product_id NOT IN(SELECT # 在2019年春季之外出售过的产品DISTINCT product_idFROMSalesWHEREsale_date NOT BETWEEN '2019-01-01' AND '2019-03-31');
3、Pandas对日期的处理
- 功能1:日期转换为datetime类型
方式:
pd.to_datetime(日期)
- 功能2:日期相减(求年龄)
csv_df['age'] = np.floor((pd.to_datetime('2018-7-1')-pd.to_datetime(csv_df.birthday))/timedelta(days=365))
- 功能3:日期比较判断
from datetime import datetime
start_time =datetime(2019,1,1)
end_time=datetime(2019,12,31,23,59,59)order_df = order_df[(order_df.payTime>=start_time) & (order_df.payTime<=end_time)]
order_df.shape
- 功能4:获取日期中的月份、星期
order_df['month']=order_df.orderTime.dt.month
order_df['weekday'] = order_df.orderTime.dt.weekday
- 功能6:日期的近似取值
# floor('30T')表示向下取时间,已30分钟为界限,30分钟以内为0分钟,30分钟以上为30分钟
order_df['time'] = order_df.orderTime.dt.floor('30T')
#取出时间time,去掉年月日
order_df['time'] = order_df.time.dt.time
- 功能7:只显示月和日
for i in range(len(df2)):df2.iloc[i,0] = pd.to_datetime(df2.iloc[i,0]).strftime("%m-%d")
df2.head()
4、Excel对日期的处理
- 功能1:日期之间求差
- 功能2:其他日期函数
功能 | 方式 |
---|---|
该月最后一天 | =DATE(YEAR(A2),MONTH(A2)+1,1)-1 |
该月最后一天 | =EOMONTH(A2,0) |
后一月最后一天 | =EOMONTH(A3,1) |
星期几 | =TEXT(A4,“dddd”) |
该月有多少天 | =DAY(C3) |
第几季度 | =IF(MONTH(A2)/3<=1,1,IF(MONTH(A2)/3<=2,2,IF(MONTH(A2)/3<=3,3,4))) |
第几季度 | =ROUNDUP(MONTH(A3),0) |
5、PowerBi对日期的处理
功能1:时间间隔
时间间隔小时:
时间间隔 = DATEDIFF([订单创建时间],[订单付款时间 ],HOUR)
时间间隔分钟:
时间间隔分钟 = DATEDIFF([订单创建时间],[订单付款时间 ],MINUTE)
python、pandas、Excel、Powerbi中对日期的处理方法相关推荐
- 【Python数据分析】利用Python删除EXCEL表格中指定的列数据或行数据
如何利用Python删除EXCEL表格中指定的列数据?今天与大家一起分享一下DataFrame对象的drop()函数,drop()函数可根据标签删除EXCEL表格中的列数据或行数据,其语法格式如下: ...
- 【Python数据分析】利用Python替换EXCEL表格中指定的数据
如何利用Python替换EXCEL表格中指定的数据?今天与大家一起分享一下DataFrame对象的replace()函数,replace()函数可EXCEl中的数据内容,其语法格式如下: 表达式.re ...
- python打开excel的函数-Python读取excel文件中带公式的值的实现
在进行excel文件读取的时候,我自己设置了部分直接从公式获取单元格的值 但是用之前的读取方法进行读取的时候,返回值为空 import os import xlrd from xlutils.copy ...
- python打开excel数据库_使用python导入excel文件中的mssql数据库数据
我试图用python导入excel文件中的mssql数据库数据.我的数据在excel表格中的顺序不正确.e. g它显示第1列数据,然后是第3列,第2列,然后是第4列,依此类推. 我使用以下脚本:imp ...
- 使用Python获取Excel文件中单元格公式的计算结果
假设有如下Excel文件,其中第二个WorkSheet中数据如下: 其中D列为公式,现在要求输出该列公式计算的数值结果,代码如下: 代码运行结果: ----------相关阅读---------- 1 ...
- python 查找excel表格中重复的信息并标出来
Python之PyMuPDF--批量处理一个PDF文件中发票的总金额提取 python 查找excel表格中重复的信息并标出来 python 提取excel表格中指定的关键字 python 批量修改文 ...
- 如何利用python将excel表格中筛选出来的每一份数据各自另存为新的excel文件?
如何利用python将excel表格中筛选出来的每一份数据各自另存为新的excel文件? 1.问题描述 2.解决过程 2.1 问题分析: 2.2 解决思路 3.运行结果 1.问题描述 最近在处理一堆工 ...
- Python处理Excel表中单元格带有换行的数据
Python处理Excel表中单元格带有换行的数据 文章目录 Python处理Excel表中单元格带有换行的数据 问题样式 实例问题 实例实现代码 实例结果 问题样式 在数据处理过程中常常会遇到这样一 ...
- python pandas 分割DataFrame中的字符串及元组
python pandas 分割DataFrame中的字符串类型数据的方法 文章目录 1.使用str.split()方法 2.使用join()与split()方法结合 3. 使用apply方法分割元组 ...
最新文章
- 2021-2027年中国一体化预制泵站行业研究及前瞻分析报告
- 神经网络那些事儿(二)
- 【Java】Java枚举类型示例
- jQuery dataTable 操作个人使用总结
- android包内存放视频,Android性能优化:手把手教你如何让App更快、更稳、更省(含内存、布局优化等)...
- c语言中二叉树中总结点,C语言二叉树的三种遍历方式的实现及原理
- snmp获取交换机日志_日志审计系统和数据库审计系统的区别
- js符号转码_JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解...
- 『教程』笔记本win7下自建Wifi热点–便于手机Wifi上网 (转 )
- 5.Docker之镜像的使用
- 前端基础学习之Html标签
- Unity Camera
- python画多边形太阳花
- 计算智能3--进化计算
- 噩梦射手(SurvivalShooter)教程(二)
- 计算识别率的matlab代码,基于MATLAB神经网络图像识别的高识别率代码
- vue实现一键换肤效果(白天晚上模式切换)
- #(二)、股市是混沌还是浑沌?
- Flowlayout流式布局使用(轻量级)
- 关于求解微分方程——初学Matlab里的 ODE求解器
热门文章
- virtualbox kali linux 安装小米随身wifi
- linux机械硬盘提速,这方法让机械硬盘秒变固态硬盘:速度爆表
- 论文阅读笔记《Neural Graph Matching Network: Learning Lawler’s Quadratic Assignment Problem With Extension》
- python中的英文歌_Python 爬网易音乐云歌曲,MV
- 深入理解git push
- html里如何打出五角星,html5中怎么做五角星
- Spark RDD API详解
- 水星USB无线网卡mw150us苹果macOS系统驱动成功
- 使用uniapp做微信小程序,在小程序编辑器运行时编译报错:appid不合法,导致启用不了。
- WPS添加下划线,文字尾部不显示下划线问题解决(一个So stupid问题)