首页 > 其他分享 >【Pandas】pandas timedelta_range

【Pandas】pandas timedelta_range

时间:2024-12-14 12:27:28浏览次数:7  
标签:00 timedelta days start range freq Pandas

Pandas2.2 General

Top-level dealing with datetimelike data

方法描述
to_datetime(arg[, errors, dayfirst, …])用于将对象数据(如字符串)转换为日期时间类型
to_timedelta(arg[, unit, errors])用于将对象数据(如字符串)转换为时间差类型
date_range([start, end, periods, freq, tz, …])用于生成固定频率的日期时间序列
bdate_range([start, end, periods, freq, tz, …])用于生成基于工作日的日期范围
period_range([start, end, periods, freq, name])用于生成固定频率的周期序列
timedelta_range([start, end, periods, freq, …])用于生成固定频率的时间差序列
infer_freq(index)用于根据时间序列数据自动推断其频率

pandas.timedelta_range()

pandas.timedelta_range() 函数用于生成一个固定频率的时间差(timedelta)范围。它类似于 pandas.date_range(),但生成的是时间差对象而不是日期时间对象。以下是 pandas.timedelta_range() 函数的每个参数的详细介绍,并附有示例及结果。

def timedelta_range(
    start=None,
    end=None,
    periods: int | None = None,
    freq=None,
    name=None,
    closed=None,
    *,
    unit: str | None = None,
) -> TimedeltaIndex:
   ...
参数
  1. start(str 或 pandas._libs.tslibs.timedeltas.Timedelta,默认 ‘0 days’)

    • 起始时间差。可以是表示时间差的字符串(如 '1 days')或 Timedelta 对象。
  2. end(str 或 pandas._libs.tslibs.timedeltas.Timedelta,可选)

    • 结束时间差。同样可以是表示时间差的字符串或 Timedelta 对象。如果指定了 periods,则 end 是可选的。
  3. periods(int,可选)

    • 要生成的元素数量。如果指定了 periods,则必须省略 num 参数,并且 startend 参数变得可选(但至少需要一个来定义范围)。
  4. freq(str 或 pandas.DateOffset,默认 ‘D’)

    • 频率字符串或 DateOffset 对象,表示时间差之间的间隔。常见的频率包括 'D'(天)、'H'(小时)、'T''min'(分钟)、'S'(秒)等。
  5. name(str,可选)

    • 返回的 TimedeltaIndex 的名称。
  6. closed({‘left’, ‘right’}, 可选,默认 ‘right’)

    • 是否包括区间的端点。'left' 表示包括 start 而不包括 end'right' 表示包括 end 而不包括 start
  7. unit str, 默认 None

    • 指定所需的结果分辨率
示例 1:基本用法
import pandas as pd

# 生成从0天到2天的timedelta范围,步长为1天
td_range = pd.timedelta_range(start='0 days', end='2 days', freq='D')
print(td_range)

结果

TimedeltaIndex(['0 days', '1 days', '2 days'], dtype='timedelta64[ns]', freq='D')
示例 2:使用 periods 参数
# 生成包含5个元素的timedelta范围,从0天开始,步长为1天
td_range = pd.timedelta_range(start='0 days', periods=5, freq='D')
print(td_range)

结果

TimedeltaIndex(['0 days', '1 days', '2 days', '3 days', '4 days'], dtype='timedelta64[ns]', freq='D')
示例 3:使用不同的频率
# 生成从0小时到2小时的时间差范围,步长为30分钟
td_range = pd.timedelta_range(start='0 hours', end='2 hours', freq='30min')
print(td_range)

结果

TimedeltaIndex(['0 days 00:00:00', '0 days 00:30:00', '0 days 01:00:00',
                '0 days 01:30:00', '0 days 02:00:00'],
               dtype='timedelta64[ns]', freq='30min')
示例 4:设置名称和封闭区间
# 生成包含4个元素的timedelta范围,从0分钟到3分钟,步长为1分钟,名称为'Minutes',封闭区间为左封闭
td_range = pd.timedelta_range(start='0 minutes', periods=4, freq='min', name='Minutes', closed='left')
print(td_range)

结果

Minutes
TimedeltaIndex(['0 days 00:00:00', '0 days 00:01:00', '0 days 00:02:00'], dtype='timedelta64[ns]', name='Minutes', freq='min')

这些示例展示了 pandas.timedelta_range() 的基本用法和参数调整,可以帮助你根据需要生成时间差范围。

标签:00,timedelta,days,start,range,freq,Pandas
From: https://blog.csdn.net/weixin_39648905/article/details/144468613

相关文章

  • 利用Numpy和Pandas浏览数据
    我们先通过一个示例来看一下Numpy的作用:通过示例我们可以看到,相比较于普通列表的乘2只是重复两次相同数据,导入Numpy模块后,其元素会是真正数学意义上的乘二。因为Numpy数组是专门为支持数字数据的数学运算而设计的,这使得它们对于数据分析比一般列表更有用。我们通过类型还注......
  • 在Elasticsearch (ES) 中,integer 和 integer_range的区别
    在Elasticsearch(ES)中,integer和integer_range是两种不同的字段类型,它们用于存储和查询不同类型的数据。Integer:integer类型是用于存储32位整数值的简单数据类型。这个类型的字段适合用来表示单一的整数数值,例如用户的年龄、商品的数量等。支持标准的数值操作......
  • 解决Pandas的to_excel()写入不同Sheet,而不会被重写
    一、问题描述在使用Pandas的to_excel()方法写入数据时,当我们想将多个数据写入一个Excel表的不同DataFrame中,虽然能够指定sheet_name参数,但是会重写整个Excel之后才会存储。现在有3个sheet,内容如下:>>>importpandasaspd>>>df1=pd.read_excel('456.xlsx',sheet_name='Sh......
  • 关于数据处理模块pandas
    前言:Pandas库是一个免费、开源的第三方Python库,是Python数据分析必不可少的工具之一,它为Python数据分析提供了高性能,且易于使用的数据结构,即Series和DataFrame。Pandas自诞生后被应用于众多的领域,比如金融、统计学、社会科学、建筑工程等。但想学习的人注意了,孔子有......
  • pandas中pd.groupby()方法
    pd.groupby是Pandas中用于对数据分组并应用聚合操作的方法,它非常类似于SQL中的GROUPBY。通过分组,可以对每一组数据分别进行操作,例如求和、均值、计数等。DataFrame.groupby(by=None,axis=0,level=None,as_index=True,sort=True,group_keys=True)主要操作1.......
  • Python-geopandas-读取MapInfor-20241209
    #读取数据,需要制定坐标格式shapefile_path=r'd:\Mapinfor\map\赣江新区新增图层.TAB'mapinfo_gdp=gpd.read_file(shapefile_path,driver="MapinfoFile")#先设置一个坐标系,否则会报提示性错误mapinfo_gdp=mapinfo_gdp.to_crs(epsg=4326)#校验坐标系,转换到目标投影......
  • python - pandas排序
    如果进行简单升降序使用以下功能一般就够用importpandasaspd#数据df=pd.DataFrame({'A':['a','c','b','d','a'],'B':[5,4,3,2,1]})#按照B列值进行排序#ascending为True代表升序,False为降序#na_position为First代表空值放在最后,First......
  • 题解:AtCoder Beginner Contest AT_abc380_d ABC380D Strange Mirroring
    题目大意给定一个字符串$S$,执行$10^{100}$次以下操作:首先,令字符串$T$为字符串$S$中所有大写字母变为小写字母,小写字母变为大写字母的结果。其次,将$T$拼接在$S$后面。接下来,有一些询问:请输出在所有操作执行完成之后$S$的第$K$个字母。思路乍一看,好大的数......
  • MySQL的eq_range_index_dive_limit参数对in查询影响
    目录参数说明场景复现参数说明MySQL5.7的官方说明文档:https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_eq_range_index_dive_limiteq_range_index_dive_limit变量影响优化器在等值比较的条件中,如何评估符合条件的行数。等值比较的表达式类似以......
  • Pandas教程之十九:处理 Pandas 中的缺失数据
    处理Pandas中的缺失数据在Pandas中,缺失值用None或NaN表示,这可能是由于未收集数据或条目不完整而发生的。让我们探索如何检测、处理和填充DataFrame中的缺失值,以确保准确的分析。目录检查PandasDataFrame中的缺失值填充Pandas中的缺失值删除Pandas中的缺失值......