iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >pythonPandas时序数据处理
  • 567
分享到

pythonPandas时序数据处理

2024-04-02 19:04:59 567人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录python中时间的一些常用操作pandas时间序列(DatetimeIndex)与时序数据杭州天气的时序处理附:matplotlib中文支持Python中时间的一些常用操作 i

Python中时间的一些常用操作

import time
# 从格林威治时间到现在,单位秒
print('系统时间戳:', time.time())
print('本地时间按格式转成str:', time.strftime('%Y-%m-%d %X', time.localtime()))
# 无参的localtime返回time.struct_time格式的时间,是本地时区的时间
print('无参localtime:', time.localtime())
print('本时区时间转成时间戳:', time.mktime(time.localtime()))
# 将时间戳转换为能读懂的时间
print('时间戳转时间:', time.strftime('%Y-%m-%d %X', time.localtime(time.time())))

运行结果:

系统时间戳: 1542188096.1592166
本地时间按格式转成str: 2018-11-14 17:34:56
无参localtime: time.struct_time(tm_year=2018, tm_mon=11, tm_mday=14, tm_hour=17, tm_min=34, tm_sec=56, tm_wday=2, tm_yday=318, tm_isdst=0)
本时区时间转成时间戳: 1542188096.0
时间戳转时间: 2018-11-14 17:34:56

Pandas时间序列(DatetimeIndex)与时序数据

时间序列在Series对象中且作为索引存在时,就构成了时序数据。

import datetime
import numpy as np
import pandas as pd
# pd.date_range()函数用于创建一个Pandas时间序列DatetimeIndex
# start参数(也是第一个参数)传入一个str格式的开始时间,也可以传入一个datetime对象
# 这里用datetime.datetime()创建了一个datetime对象,只用了前三个参数也就是年月日
# pd.date_range()函数可以指明end表示时间序列的结尾时间
# 这里用periods参数指明序列中要生成的时间的个数,freq='D'指定为每天(Day)生成一个时间
dti = pd.date_range(start=datetime.datetime(2018, 11, 14), periods=18, freq='D')
print(dti, '\n', '*' * 40, sep='')
# 将时间序列放在Series对象中作为索引,这里freq='W'表示隔一周生成一个
s_dti = pd.Series(np.arange(6), index=pd.date_range('2018/11/4', periods=6, freq='W'))
print(s_dti.head(), '\n', '*' * 40, sep='')
# 取时序数据中指定时间的内容
print(s_dti['2018-11-25'], '\n', '*' * 40, sep='')
# 取第二个索引对应的时间的年月日
print(s_dti.index[2].year, s_dti.index[2].month, s_dti.index[2].day, '\n', '*' * 40, sep='')

运行结果:

DatetimeIndex(['2018-11-14', '2018-11-15', '2018-11-16', '2018-11-17',
               '2018-11-18', '2018-11-19', '2018-11-20', '2018-11-21',
               '2018-11-22', '2018-11-23', '2018-11-24', '2018-11-25',
               '2018-11-26', '2018-11-27', '2018-11-28', '2018-11-29',
               '2018-11-30', '2018-12-01'],
              dtype='datetime64[ns]', freq='D')
****************************************
2018-11-04    0
2018-11-11    1
2018-11-18    2
2018-11-25    3
2018-12-02    4
Freq: W-SUN, dtype: int32
****************************************
3
****************************************
20181118
****************************************

杭州天气的时序处理

import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
df = pd.read_csv('E:/Data/practice/hz_weather.csv')
df = df[['日期', '最高气温', '最低气温']]
# print(df.head())

print(type(df.日期))  # <class 'pandas.core.series.Series'>
print(type(df.日期.values))  # <class 'numpy.ndarray'>

# 修改日期格式
# 注意,df.日期得到的是Series对象,df.日期.values得到的是ndarray多维数组
# pd.to_datetime()函数将输入解析成时间对象的格式并返回
# fORMat参数指定解析的方式
# 当输入列表形式的值时,返回DatetimeIndex;当输入Series时,返回Series;当输入常量时,返回Timestamp
print(type(pd.to_datetime(df.日期.values, format="%Y-%m-%d")))  # <class 'pandas.core.indexes.datetimes.DatetimeIndex'>
print(type(pd.to_datetime(df.日期, format="%Y-%m-%d")))  # <class 'pandas.core.series.Series'>
df.日期 = pd.to_datetime(df.日期.values, format="%Y-%m-%d")
# print(df.head())

# 将日期设置为索引
df = df.set_index('日期')
# 取出第0个索引值对应的日期
print(df.index[0])  # 2017-01-01 00:00:00
# DatetimeIndex里存的是一个个的Timestamp,查看一下类型
print(type(df.index[0]))  # <class 'pandas._libs.tslibs.timestamps.Timestamp'>
# print(df.info())

# 提取1月份的温度数据
df_jan = df[(df.index >= "2017-1-1") & (df.index < "2017-2-1")]
# 或用这种方式也可以
df_jan = df["2017-1-1":"2017-1-31"]
# print(df_jan.info())

# 只取到月份
df_m = df.to_period('M')
# print(df_m.head())

# 利用上面的只取到月份,对level=0(即索引层级)做聚合就可以求月内的平均值等
s_m_mean = df_m.groupby(level=0).mean()
# print(s_m_mean.head())

# 绘制[最高温度]和[最低温度]两个指标随着索引[时间]变化的图
fig, ax = plt.subplots(1, 1, figsize=(12, 4))
df.plot(ax=ax)
plt.show()

附:matplotlib中文支持

到此这篇关于python Pandas时序数据处理 的文章就介绍到这了,更多相关Pandas 时序数据 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: pythonPandas时序数据处理

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • pythonPandas时序数据处理
    目录Python中时间的一些常用操作Pandas时间序列(DatetimeIndex)与时序数据杭州天气的时序处理附:matplotlib中文支持Python中时间的一些常用操作 i...
    99+
    2022-11-11
  • Pandas.DataFrame时间序列数据处理的实现
    目录如何将一列现有数据指定为DatetimeIndex读取CSV时如何指定DatetimeIndex关于pandas.Series将pandas.DataFrame,pandas.S...
    99+
    2023-02-23
    Pandas.DataFrame时间序列 Pandas时间序列处理
  • Pandas处理时间序列数据操作详解
    目录前言一、获取时间二、时间索引三、时间推移前言 一般从数据库或者是从日志文件读出的数据均带有时间序列,做时序数据处理或者实时分析都需要对其时间序列进行归类归档。而Pandas是处理...
    99+
    2022-11-11
  • Redis在PHP应用中的时序数据处理
    Redis 是一个高性能的内存数据库,它支持键值存储、缓存、队列等功能。在 PHP 应用中,Redis 通常被用于缓存查询结果、频繁调用的函数等。除此之外,Redis 还可以用来处理时序数据,例如监控数据、日志数据等。本文将介绍 Redis...
    99+
    2023-05-16
    PHP redis 时序数据处理
  • Pandas.DataFrame时间序列数据处理如何实现
    本篇内容主要讲解“Pandas.DataFrame时间序列数据处理如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Pandas.DataFrame时间序列数据处理如何实现”吧!将panda...
    99+
    2023-07-05
  • python Pandas时序数据处理的方法有哪些
    这篇文章主要介绍“python Pandas时序数据处理的方法有哪些”,在日常操作中,相信很多人在python Pandas时序数据处理的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-07-02
  • 实时数据处理:利用Go WaitGroup处理数据流
    在Go语言中,可以使用`sync.WaitGroup`来处理实时数据流。`sync.WaitGroup`是一个计数信号量,用来等待一...
    99+
    2023-10-08
    Golang
  • PHP中如何进行时序数据分析和处理?
    PHP是一种开源的脚本语言,可以用于构建各种类型的网站和应用程序,因此在网站开发和数据分析方面广泛应用。时序数据是指以时间为基础的数据集合,如传感器数据、金融数据等。在处理这些数据时,需要了解PHP中的时序数据分析和处理方式。一、时序数据分...
    99+
    2023-05-22
    分析 处理 时序数据
  • Python时间序列数据的预处理方法总结
    目录前言时间序列中的缺失值时间序列去噪滚动平均值傅里叶变换时间序列中的离群值检测基于滚动统计的方法孤立森林K-means 聚类面试问题总结前言 时间序列数据随处可见,要进行时间序列分...
    99+
    2022-11-11
  • 如何理解网站处理数据交换时的序列化和反序列化
    本篇内容介绍了“如何理解网站处理数据交换时的序列化和反序列化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!#摘要序列化和反序列化几乎是工程师...
    99+
    2023-06-10
  • 数据分析处理库Pandas——时间
    时间戳 向后推的时间戳 备注:五天后的时间。 指定日期和时间 时间的Series结构 按要求显示时间(开始时间,时间间隔,时间个数) 转换为时间格式,并设置时间列为索引列 方法一 方法二 筛选显示 方法...
    99+
    2023-01-31
    时间 数据 Pandas
  • 如何使用Python中的数据分析库处理和预测时间序列数据
    如何使用Python中的数据分析库处理和预测时间序列数据时间序列数据是指按时间顺序排列的数据,其特点是具有时间上的相关性和趋势性。在许多领域中,时间序列数据分析起着重要的作用,如股市预测、天气预报、销售预测等。Python中有许多强大的数据...
    99+
    2023-10-22
    Python 时间序列数据 数据分析库
  • 时序数据库有哪些特点? TimescaleDB时序数据库介绍
    随着物联网的发展,时序数据库的需求越来越多,比如水文监控、工厂的设备监控、国家安全相关的数据监控、通讯监控、金融行业指标数据、传感器数据等。 在互联网行业中,也有着非常多的时序数据,例如用户访问网站的行为...
    99+
    2020-10-08
    时序数据库有哪些特点? TimescaleDB时序数据库介绍
  • 如何理解时间序列数据库InfluxDB
    如何理解时间序列数据库InfluxDB,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。   性能监控中的很多数据都是根据时间维度来生...
    99+
    2022-10-19
  • 打包Java程序时如何处理同步函数的顺序?
    在Java中,同步函数是一种允许多个线程共享一个对象时保证线程安全的方法。然而,在打包Java程序时,我们需要注意如何处理同步函数的顺序,以确保程序的正确性和效率。 首先,让我们来了解一下Java中同步函数的概念。同步函数是一种在方法前添...
    99+
    2023-09-29
    打包 同步 函数
  • PHP 如何在大数据时代实现实时处理?
    随着互联网的快速发展,数据量呈现爆炸式增长。如何高效地处理海量数据成为了所有企业和机构面临的共同问题。PHP 作为一种流行的编程语言,如何在大数据时代实现实时处理成为了一个热门话题。本文将介绍 PHP 在大数据时代实现实时处理的方法和技巧...
    99+
    2023-09-15
    大数据 实时 spring
  • 打包Java程序时,如何处理同步函数?
    在Java编程中,使用同步函数是非常常见的。同步函数可以确保在多线程环境下,某个方法或代码块在同一时间只会被一个线程执行,以避免出现数据竞争和其他并发问题。然而,在打包Java程序时,如何处理同步函数可能会有一些问题。本文将介绍如何正确地...
    99+
    2023-09-29
    打包 同步 函数
  • 实时处理大数据?Java教程来了!
    随着数据量不断增长,实时处理大数据已经成为了当今互联网领域内不可避免的问题。而Java作为一种高性能、可靠性强的编程语言,一直在大数据处理领域中扮演着举足轻重的角色。在本文中,我们将会为您介绍Java在实时处理大数据方面的应用,同时会穿插...
    99+
    2023-10-22
    大数据 实时 教程
  • flink怎么使用Event_time处理实时数据
    本篇内容主要讲解“flink怎么使用Event_time处理实时数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“flink怎么使用Event_time处理实时数据”吧!//flink中关于时间...
    99+
    2023-06-02
  • PHP能否胜任大数据实时处理?
    PHP能否胜任大数据实时处理? PHP是一种被广泛使用的服务器端脚本语言,其主要用途是创建动态网页。然而,随着数据量的增加和实时性要求的提高,越来越多的人开始关注PHP在大数据实时处理方面的表现。本文将探讨PHP在这一领域的能力,并通过演示...
    99+
    2023-09-24
    大数据 实时 二维码
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作