查看原文
其他

Pandas时间序列数据操作

大邓 大邓和他的Python 2022-07-09

一、 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']


往期文章

中文文本分析相关资源汇总

cnsenti中文情绪情感分析库

70G上市公司定期报告数据集

如何计算出文本数据的相似矩阵?

两行代码读取pdf、docx文件

三行代码计算文本相似性

5个小问题带你理解列表推导式

文本数据清洗之正则表达式

Python网络爬虫与文本数据分析

综述:文本分析在市场营销研究中的应用

LabelStudio多媒体数据标注工具[5星推荐]

如何批量下载上海证券交易所上市公司年报

Loughran&McDonald金融文本情感分析库

Numpy和Pandas性能改善的方法和技巧

如何使用Python快速构建领域内情感词典

Python数据分析相关学习资源汇总帖

漂亮~pandas可以无缝衔接Bokeh

YelpDaset: 酒店管理类数据集10+G


看在这么多数据面子上,给我点好看可好❤



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存