返回顶部
首页 > 资讯 > 精选 >Pandas.DataFrame时间序列数据处理如何实现
  • 649
分享到

Pandas.DataFrame时间序列数据处理如何实现

2023-07-05 06:07:31 649人浏览 安东尼
摘要

本篇内容主要讲解“pandas.DataFrame时间序列数据处理如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Pandas.DataFrame时间序列数据处理如何实现”吧!将panda

本篇内容主要讲解“pandas.DataFrame时间序列数据处理如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Pandas.DataFrame时间序列数据处理如何实现”吧!

将pandas.DataFrame,pandas.Series的索引设置为datetime64 [ns]类型时,将其视为DatetimeIndex,并且可以使用各种处理时间序列数据的函数。可以按年或月指定行,并按切片指定提取周期,这在处理包含日期和时间信息(例如日期和时间)的数据时非常方便。

如何将一列现有数据指定为DatetimeIndex

将pandas.DataFrame与默认的基于0的索引和一个字符串列作为日期。

import pandas as pddf = pd.read_csv('./data/26/sample_date.csv')print(df)#           date  val_1  val_2# 0   2017-11-01     65     76# 1   2017-11-07     26     66# 2   2017-11-18     47     47# 3   2017-11-27     20     38# 4   2017-12-05     65     85# 5   2017-12-12      4     29# 6   2017-12-22     31     54# 7   2017-12-29     21      8# 8   2018-01-03     98     76# 9   2018-01-08     48     64# 10  2018-01-19     18     48# 11  2018-01-23     86     70print(type(df.index))# <class 'pandas.core.indexes.range.RangeIndex'>print(df['date'].dtype)# object

将to_datetime()应用于日期字符串列,并转换为datetime64 [ns]类型。

df['date'] = pd.to_datetime(df['date'])print(df['date'].dtype)# datetime64[ns]

使用set_index()方法将datetime64 [ns]类型的列指定为索引。

Pandas.DataFrame,重置列的行名(set_index)

索引现在是DatetimeIndex。索引的每个元素都是时间戳类型。

df.set_index('date', inplace=True)print(df)#             val_1  val_2# date                    # 2017-11-01     65     76# 2017-11-07     26     66# 2017-11-18     47     47# 2017-11-27     20     38# 2017-12-05     65     85# 2017-12-12      4     29# 2017-12-22     31     54# 2017-12-29     21      8# 2018-01-03     98     76# 2018-01-08     48     64# 2018-01-19     18     48# 2018-01-23     86     70print(type(df.index))# <class 'pandas.core.indexes.datetimes.DatetimeIndex'>print(df.index[0])print(type(df.index[0]))# 2017-11-01 00:00:00# <class 'pandas._libs.tslib.Timestamp'>

可以按年或月指定行,并按切片提取周期。

print(df['2018'])#             val_1  val_2# date                    # 2018-01-03     98     76# 2018-01-08     48     64# 2018-01-19     18     48# 2018-01-23     86     70print(df['2017-11'])#             val_1  val_2# date                    # 2017-11-01     65     76# 2017-11-07     26     66# 2017-11-18     47     47# 2017-11-27     20     38print(df['2017-12-15':'2018-01-15'])#             val_1  val_2# date                    # 2017-12-22     31     54# 2017-12-29     21      8# 2018-01-03     98     76# 2018-01-08     48     64

还可以指定各种格式的行。

print(df.loc['01/19/2018', 'val_1'])# 18print(df.loc['20180103', 'val_2'])# 76

读取CSV时如何指定DatetimeIndex

如果原始数据是CSV文件,则在使用read_csv()进行读取时可以指定DatetimeIndex。

在参数index_col中指定要用作索引的日期和时间数据的列名(或从0开始的列号),并将parse_dates设置为True。

df = pd.read_csv('./data/26/sample_date.csv', index_col='date', parse_dates=True)print(df)#             val_1  val_2# date# 2017-11-01     65     76# 2017-11-07     26     66# 2017-11-18     47     47# 2017-11-27     20     38# 2017-12-05     65     85# 2017-12-12      4     29# 2017-12-22     31     54# 2017-12-29     21      8# 2018-01-03     98     76# 2018-01-08     48     64# 2018-01-19     18     48# 2018-01-23     86     70print(type(df.index))# <class 'pandas.core.indexes.datetimes.DatetimeIndex'>

如果CSV文件的日期字符串为非标准格式,请在read_csv()的参数date_parser中指定由lambda表达式定义的解析器。

parser = lambda date: pd.to_datetime(date, fORMat='%Y年%m月%d日')df_jp = pd.read_csv('./data/26/sample_date_cn.csv', index_col='date', parse_dates=True, date_parser=parser)print(df_jp)#             val_1  val_2# date# 2017-11-01     65     76# 2017-11-07     26     66# 2017-11-18     47     47# 2017-11-27     20     38# 2017-12-05     65     85# 2017-12-12      4     29# 2017-12-22     31     54# 2017-12-29     21      8# 2018-01-03     98     76# 2018-01-08     48     64# 2018-01-19     18     48# 2018-01-23     86     70print(type(df_jp.index))# <class 'pandas.core.indexes.datetimes.DatetimeIndex'>

关于pandas.Series

这可能不是实际的模式,但是如果pandas.Series索引是日期字符串。

s = pd.read_csv('./data/26/sample_date.csv', index_col=0, usecols=[0, 1], squeeze=True)print(s)# date# 2017-11-01    65# 2017-11-07    26# 2017-11-18    47# 2017-11-27    20# 2017-12-05    65# 2017-12-12     4# 2017-12-22    31# 2017-12-29    21# 2018-01-03    98# 2018-01-08    48# 2018-01-19    18# 2018-01-23    86# Name: val_1, dtype: int64print(type(s))print(type(s.index))# <class 'pandas.core.series.Series'># <class 'pandas.core.indexes.base.Index'>

如果要将此索引转换为DatetimeIndex,则可以通过将用to_datetime转换的索引替换为属性索引来覆盖它。

s.index = pd.to_datetime(s.index)print(s)# date# 2017-11-01    65# 2017-11-07    26# 2017-11-18    47# 2017-11-27    20# 2017-12-05    65# 2017-12-12     4# 2017-12-22    31# 2017-12-29    21# 2018-01-03    98# 2018-01-08    48# 2018-01-19    18# 2018-01-23    86# Name: val_1, dtype: int64print(type(s))print(type(s.index))# <class 'pandas.core.series.Series'># <class 'pandas.core.indexes.datetimes.DatetimeIndex'>print(s['2017-12-15':'2018-01-15'])# date# 2017-12-22    31# 2017-12-29    21# 2018-01-03    98# 2018-01-08    48# Name: val_1, dtype: int64

到此,相信大家对“Pandas.DataFrame时间序列数据处理如何实现”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Pandas.DataFrame时间序列数据处理如何实现

本文链接: https://lsjlt.com/news/349802.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Pandas.DataFrame时间序列数据处理如何实现
    本篇内容主要讲解“Pandas.DataFrame时间序列数据处理如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Pandas.DataFrame时间序列数据处理如何实现”吧!将panda...
    99+
    2023-07-05
  • Pandas.DataFrame时间序列数据处理的实现
    目录如何将一列现有数据指定为DatetimeIndex读取CSV时如何指定DatetimeIndex关于pandas.Series将pandas.DataFrame,pandas.S...
    99+
    2023-02-23
    Pandas.DataFrame时间序列 Pandas时间序列处理
  • Cassandra如何处理时间序列数据
    Cassandra是一个分布式数据库系统,通常用于处理大规模数据和高并发读写操作。在处理时间序列数据时,Cassandra可以使用以...
    99+
    2024-04-09
    Cassandra
  • MariaDB中如何处理时间序列数据
    在MariaDB中处理时间序列数据通常会使用日期和时间函数来操作数据。以下是一些常用的日期和时间函数: NOW():返回当前日期和...
    99+
    2024-04-09
    MariaDB
  • Torch中如何处理时间序列数据
    在Torch中处理时间序列数据通常涉及到使用特定的库或模块来进行数据预处理、建模和训练。以下是一些处理时间序列数据的常见方法: ...
    99+
    2024-04-02
  • Teradata如何处理时间序列数据和空间数据
    Teradata是一个强大的数据仓库解决方案,可以处理各种类型的数据,包括时间序列数据和空间数据。在处理时间序列数据时,Terada...
    99+
    2024-04-09
    Teradata
  • CNTK怎么处理序列数据和时间序列数据
    CNTK(Microsoft Cognitive Toolkit)是一个深度学习工具包,可以用来处理序列数据和时间序列数据。以下是一...
    99+
    2024-04-02
  • Grafana怎么处理时间序列数据
    Grafana 是一个开源的数据可视化和监控工具,可以用于处理时间序列数据。在 Grafana 中,您可以通过以下方式处理时间序列数...
    99+
    2024-04-02
  • 如何理解时间序列数据库InfluxDB
    如何理解时间序列数据库InfluxDB,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。   性能监控中的很多数据都是根据时间维度来生...
    99+
    2024-04-02
  • PyTorch中怎么处理时间序列数据
    在PyTorch中处理时间序列数据通常需要使用torch.utils.data.Dataset和torch.utils.data.D...
    99+
    2024-03-05
    PyTorch
  • Python时间序列如何实现
    这篇文章主要介绍“Python时间序列如何实现”,在日常操作中,相信很多人在Python时间序列如何实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python时间序列如何实现”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-05
  • Pandas处理时间序列数据操作详解
    目录前言一、获取时间二、时间索引三、时间推移前言 一般从数据库或者是从日志文件读出的数据均带有时间序列,做时序数据处理或者实时分析都需要对其时间序列进行归类归档。而Pandas是处理...
    99+
    2024-04-02
  • Cassandra中的时间序列数据怎么处理
    在Cassandra中处理时间序列数据时,一般可以使用以下几种方法: 使用时间戳作为行键:可以将时间戳作为行键,这样可以方便按时...
    99+
    2024-04-02
  • python时间序列数据相减的实现
    目录1.将读取的时间序列数据转化为timestamp格式2.时间数据的相减在此记录自己学习python数据分析过程中学到的一些数据处理的小技巧。本节主要分享时间数据的相减。 1.将读...
    99+
    2023-05-18
    python时间序列相减 python时间相减
  • 什么是时间序列数据SQL Server是如何处理它的
    时间序列数据是按时间顺序排列的数据集合,通常用于分析和预测时间相关的趋势和模式。在SQL Server中,时间序列数据可以以多种方式处理,以下是一些常见的方法: 使用日期和时间数据类型:SQL Server提供了多种日期和时间数据类型,...
    99+
    2024-06-03
    sql server
  • PyTorch中怎么处理时间序列数据任务
    在PyTorch中处理时间序列数据任务通常需要使用torch.nn.RNN, torch.nn.LSTM, torch.nn.GRU...
    99+
    2024-03-05
    PyTorch
  • 如何使用Redis序列化存储时间序列数据
    在Redis中存储时间序列数据可以采用以下两种方式进行序列化: 使用Redis的数据结构:可以将时间序列数据存储在Redis的有...
    99+
    2024-04-29
    Redis
  • hbase怎么实现数据的时间序列化
    在HBase中,数据的时间序列化通常通过以下方式实现: 使用Timestamp作为数据的时间戳:在HBase中,每条数据都会有一...
    99+
    2024-03-05
    hbase
  • Python时间序列数据的预处理方法总结
    目录前言时间序列中的缺失值时间序列去噪滚动平均值傅里叶变换时间序列中的离群值检测基于滚动统计的方法孤立森林K-means 聚类面试问题总结前言 时间序列数据随处可见,要进行时间序列分...
    99+
    2024-04-02
  • 如何使用MongoDB实现数据的时间序列分析功能
    如何使用MongoDB实现数据的时间序列分析功能引言:随着大数据时代的到来,时间序列分析越来越受到人们的关注和重视。在众多时间序列分析工具中,MongoDB因其高性能、易扩展和灵活性等特点成为了热门选择。本文将介绍在MongoDB中如何实现...
    99+
    2023-10-22
    MongoDB 时间序列分析
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作