Pandas时间序列数据操作

     作者:大邓

     来源:大邓和他的Python

一、 pd.to_datetime()

将日期字符串转化为datetime类型数据

import pandas as pd

pd.to_datetime('2020-05-03')
Timestamp('2020-05-03 00:00:00')

二、datetime可以比大小

day1 = pd.to_datetime('2020-05-01')

day3 = pd.to_datetime('2020-05-03')

day1<day3
True

导入实验数据

import pandas as pd

df = pd.read_csv('data/aapl.csv')
df


三、从df中筛选出符合条件的数据

  • 把小(早)于某日期的数据筛选出来

  • 把某日期区间的数据筛选出来

我们需要先将Date转化为datetime数据类型

#用pd.to_datetime处理Date列
df['Date'] = pd.to_datetime(df['Date'])
df


#选取2016-12-01之后的数据
someday = pd.to_datetime('2016-12-01')
df[df['Date']>someday]


#选取2016-12-01之前的数据
someday = pd.to_datetime('2016-12-01')
df[df['Date']<someday]


#把2016-12-01到2017-05-01之间的数据选出来
mindate = pd.to_datetime('2016-12-01')
maxdate = pd.to_datetime('2017-05-01')

df[(mindate<df['Date']) & (df['Date']<maxdate)]


四、日期Series.dt操作

datetime数据类型的Series有dt属性,而dt有以下方法属性(方法)

  • year

  • month

  • day

  • hour

  • minute

  • second

  • day_name()

  • month_name()

#每条记录的所在年份
df['Date'].dt.year


df['Date'].dt.month


df['Date'].dt.day


df['Date'].dt.day_name()


df['Date'].dt.month_name()


#选择周一  的所有的数据
df[df['Date'].dt.day_name()=='Monday']


五、将日期Series设置为行索引

注意这里的Series是datetime类型的Series

  • 选择某年数据

  • 选择某年某月的数据

  • 选择某日的数据

#将Date设置为index
df.set_index('Date', inplace=True)
df


#选择2016
df['2016']


#选择某年月数据
df['2016-12']


#选择某日数据
df['2016-12-02']

◆ ◆ ◆  ◆ ◆

长按二维码关注我们


数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。

管理员二维码:

猜你喜欢

 笑死人不偿命的知乎沙雕问题排行榜

 用Python扒出B站那些“惊为天人”的阿婆主!

 全球股市跳水大战,谁最坑爹!

 华农兄弟、徐大Sao&李子柒?谁才是B站美食区的最强王者?

 你相信逛B站也能学编程

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值