Pandas核心能力9:日期时间转换、提取、筛选

In [1]:

import numpy as npimport pandas as pddatetime_index = pd.date_range('2019/01/18', periods = 9, freq = 'T')df = pd.DataFrame(np.random.randn(9, 2), index = datetime_index, columns = list('ab') )df.reset_index(inplace = True)df.columns = list('dab')df.dtypes

Out[1]:

d datetime64[ns]a float64b float64dtype: object

1. 提取年月日时分秒星期

In [2]:

df['years'] = df.d.dt.year # 提取年df.years.head()

Out[2]:

0 20191 20192 20193 20194 2019Name: years, dtype: int64

In [3]:

df['days'] = df.d.dt.day # 提取日df.days.head()

Out[3]:

0 181 182 183 184 18Name: days, dtype: int64

In [4]:

df['minutes'] = df.d.dt.minute # 提取分钟df.minutes.head()

Out[4]:

0 01 12 23 34 4Name: minutes, dtype: int64

In [5]:

df['weeks'] = df.d.dt.week # 提取周数df.weeks.head()

Out[5]:

0 31 32 33 34 3Name: weeks, dtype: int64

In [6]:

df['weekdays'] = df.d.dt.weekday # 提取星期,Monday=0, Sunday=6df.weekdays.head()

Out[6]:

0 41 42 43 44 4Name: weekdays, dtype: int64

2. 年月日时分秒多列合成为一列

In [7]:

df[['years', 'days', 'minutes', 'weeks', 'weekdays']] = df[['years', 'days', 'minutes', 'weeks', 'weekdays']].astype(str) # 转换列数据类型

In [8]:

df['y_d_m'] = df['years'] + '-' + df['days'] + '-' + df['minutes'] # 多列合成一列:年,日,分钟列合成为y_d_m一列df['y_d_m'].head()

Out[8]:

0 2019-18-01 2019-18-12 2019-18-23 2019-18-34 2019-18-4Name: y_d_m, dtype: object

3. 日期格式转字符串

In [9]:

from datetime import datetimedf['d_str'] = df.d.apply(lambda x: datetime.strftime(x, '%d-%m-%Y')) # 将日期烦死的d列转换为字符串的d_str列df.d_str.head()

Out[9]:

0 18-01-20191 18-01-20192 18-01-20193 18-01-20194 18-01-2019Name: d_str, dtype: object

4. 字符串转日期格式

In [10]:

df['str_datetime'] = pd.to_datetime(df.d_str) # 将字符串类型的d_str转换成日期类型的'str_datetime'。df.str_datetime.head()

Out[10]:

0 2019-01-181 2019-01-182 2019-01-183 2019-01-184 2019-01-18Name: str_datetime, dtype: datetime64[ns]

5. 日期时间筛选

In [11]:

df.loc[df.d > df.at[5, 'd']] # 筛选d列中大于第6个日期的所有数据

Out[11]:

dabyearsdaysminutesweeksweekdaysy_d_md_strstr_datetime62019-01-18 00:06:000.147799-2.7219672019186342019-18-618-01-20192019-01-1872019-01-18 00:07:001.282574-0.7348472019187342019-18-718-01-20192019-01-1882019-01-18 00:08:000.132462-0.2065542019188342019-18-818-01-20192019-01-18

In [12]:

from datetime import datetimedf.loc[df.d > datetime(2019, 1, 18, 0, 5, 0)] # 与上面结果一样

Out[12]:

dabyearsdaysminutesweeksweekdaysy_d_md_strstr_datetime62019-01-18 00:06:000.147799-2.7219672019186342019-18-618-01-20192019-01-1872019-01-18 00:07:001.282574-0.7348472019187342019-18-718-01-20192019-01-1882019-01-18 00:08:000.132462-0.2065542019188342019-18-818-01-20192019-01-18

pandas 日期时间

es6 日期字符串转日期_Pandas核心能力9:日期时间转换、提取、筛选相关推荐

  1. java 获取est时间_将日期字符串(EST)转换为Java日期(UTC)

    我需要有关此java方法的一些建议.此方法的目的是采用表示日期的字符串-该字符串是从EST时区中的日期创建的-并将其转换为UTC时区中的java Date对象. private Date buildV ...

  2. oracle判断字符串是不是日期,在ORACLE中如何判断一个字符串是否是一个合适的日期...

    很多时候, 我们碰到的数据库都是历史数据库, 有时就会碰到各种各样的数据不规范的情况, 在这里讨论一下日期字符串的处理. 虽然各种数据库中都有各自的日期类型, 但是因为各种各样的情况我们会碰到用字符串 ...

  3. python 字符串比较时间_Python日期字符串比较

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 需要用python的脚本来快速检测一个文件内的二个时间日期字符串的大小,其实实现很简单,首先一些 ...

  4. python时间日期字符串各种

    python时间日期字符串各种 python时间日期字符串各种 第一种 字符串转换成各种日期 time 库 # -*- coding: utf-8 -*- import time, datetime ...

  5. pandas将dataframe中的年、月、日数据列合并成完整日期字符串、并使用to_datetime将字符串格式转化为日期格式

    pandas将dataframe中的年.月.日数据列合并成完整日期字符串.并使用to_datetime将字符串格式转化为日期格式 目录

  6. java 日期和字符串互转,根据当天整天时间 得到当天最后一秒的日期时间

    2019独角兽企业重金招聘Python工程师标准>>> java 日期和字符串互转,根据当天整天时间   得到当天最后一秒的日期时间 package com.hi;import ja ...

  7. .NET(C#)时间日期字符串(String)格式化转换成Datetime异常报错问题

    .NET(C#)时间日期字符串(String)格式化转换成Datetime异常报错问题 参考文章: (1).NET(C#)时间日期字符串(String)格式化转换成Datetime异常报错问题 (2) ...

  8. Python日期字符串到日期对象

    本文翻译自:Python date string to date object How do I convert a string to a date object in python? 如何在pyt ...

  9. 计算机二级日期格式,09年计算机二级辅导:指定格式的日期字符串转化成java.util.Date类型日期对象...

    09年计算机二级辅导:指定格式的日期字符串转化成java.util.Date类型日期对象 分类:计算机等级| 更新时间:2008-10-16| 来源:教育联展网 将未指定格式的日期字符串转化成java ...

最新文章

  1. 【有奖征文】如何提高IDC机房服务器的安全性
  2. Python函数01/函数的初识/函数的定义/函数调用/函数的返回值/函数的参数
  3. curd boy 入门
  4. mysql打开无法控制_MySQL不能启动和停止 MySQL各种解决方法教程
  5. 应用程序添加到服务器,在同一应用程序中的配置服务器和eureka服务器:尝试连接到localhost:8761...
  6. 51单片机计算器_基于51单片机的倒计时温度检测报警器
  7. 如何将DataGrid中任意行背景色设置为#00A000?
  8. 企业应用打包的时候 修改ipa包的bundle identifier
  9. 网络安全学习第9篇 - 抓包工具wireshark使用及谈谈抓包对我们日常生活网络安全方面的威胁
  10. StringUtil工具类:
  11. tar bz2 解压
  12. Pycharm 远程连接服务器(ssh)运行深度学习代码 | 详细步骤
  13. 微信小程序实现使用百度云 人脸录入人脸识别功能
  14. SSIM(结构相似性)-数学公式及python实现
  15. 汤家凤_定积分的计算
  16. mysql定时任务,把7天的数据存到历史表,再删除7天前的数据
  17. 狂神SpringMvc笔记
  18. mybait——入门简单项目
  19. 小米与360的智能硬件用户之争
  20. 开源社区的由来(转载)

热门文章

  1. 一步步实现SDDC-NSX MGR安装和主机准备
  2. PHP学习总结(8)——PHP入门篇之WAMPServer集成环境安装和配置
  3. 50道编程小题目之【水仙花数】
  4. 差分电荷密度 matlab,差分电荷密度
  5. 旧版eclipse安装maven_厉害!Eclipse 已经开始可以支持 Java 14~
  6. Android之哭笑不得的BUG--xml设置的padding不起作用,幕后黑手竟然是?
  7. 阿里云四大海外数据中心将开服
  8. AJAX实现瀑布流布局
  9. 制作CentOS 5.9自动安装光盘iso镜像
  10. reviewboard安装实战