- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个格式为 numpy.timedelta(64) 的时间增量:value = numpy.timedelta64(30,'m')
(此处为 30 分钟)。
有没有办法将该值传递给 pandas date_range 的构造:pd.date_range(start_time, end_time, freq=value)
?
如果不是,如何转换该值以便在 date_range 中传递它?我尝试了 value.astype('str')
但它返回的 '0:30:00'
也不适合作为 pd.date_range 的参数。
最佳答案
您可以将其转换为 Timedelta
并将其传递给 freq
。
>>> pd.date_range('20160101', '20170101', freq=pd.Timedelta(value))
DatetimeIndex(['2016-01-01 00:00:00', '2016-01-01 00:30:00',
'2016-01-01 01:00:00', '2016-01-01 01:30:00',
'2016-01-01 02:00:00', '2016-01-01 02:30:00',
'2016-01-01 03:00:00', '2016-01-01 03:30:00',
'2016-01-01 04:00:00', '2016-01-01 04:30:00',
...
'2016-12-31 19:30:00', '2016-12-31 20:00:00',
'2016-12-31 20:30:00', '2016-12-31 21:00:00',
'2016-12-31 21:30:00', '2016-12-31 22:00:00',
'2016-12-31 22:30:00', '2016-12-31 23:00:00',
'2016-12-31 23:30:00', '2017-01-01 00:00:00'],
dtype='datetime64[ns]', length=17569, freq='30T')
我认为旧版本的 pandas
不支持这个,但仍然可以使用频率字符串:
pd.date_range('20160101', '20170101', freq='30min')
关于Python、Pandas、Numpy : Date_range: passing a np. timedelta 作为频率。争论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41524040/
这个问题在这里已经有了答案: Pandas Date Range Monthly on Specific Day of Month (3 个回答) 2年前关闭。 我想获得一个日期范围,其中每个月的日期
当我输入“2015-08”等值时,我的 date_range 会按预期工作。如果我使用 startdate 变量,那么它就不再起作用了?我不明白为什么会这样。 我收到的错误是“无法将输入转换为时间戳”
我试图在 Python 中指定一个从当天前一天开始的日期范围。但是,我希望该日期范围从 10:00:00 开始。 这是我目前使用的代码 import pandas as pd import datet
我正在处理如何反向创建日期范围的问题。我正在尝试这个: import pandas as pd dates = pd.date_range(end='2/08/2014', periods=104,
我想在特定日期之间创建日期范围,每天有一定的采样,但每一天都应该从午夜开始: ['2017-01-01 00:00:00', '2017-01-01 05:00:00','2017-01-01 10:
运行这段代码时: a = pd.date_range("1959-12-09 00:00:00", "2013-12-09 12:00:00", freq = "365D6H") weekDays =
我想从这个带日期的列表中得到一个只有“天”的列表。我使用 pd.date_range 生成日期,然后将其转换为字符串。 date = '20170101' fecha = pd.date_range(
我可以使用指定月份结束的日期范围 import pandas as pd monthend_range = pd.date_range(datetime.date(2017,12,10), datet
如何才能在我的频率中添加仅两天?我想选择星期三和星期一。下面的代码仅在我的数据中生成星期三。 pd.date_range(11/21/2019, periods=5, freq='W-WED') 最佳
我正在尝试创建一个日期范围,该范围从特定日期开始以六个月为增量。因此,如果 end_date 是 2020/01/15,那么在此之前的日期将是 2019/07/15,然后是 2019/01/15,依此
我正在尝试使用 pd.date_range() 创建一个跨越多天且频率以秒为单位的 DatetimeIndex。但是,每天的时间范围应该限制在05:00:00和22:00:00之间 类似的东西(当然行
当使用 pandas (v. 13.1) date_range 函数时,我得到关于“end”是否在返回范围内的不一致行为: In [1]: pd.date_range(start='2014-06-0
我正在尝试使用 Python 生成一系列半年度日期。 Pandas 提供了一个函数 pd.date_range为了解决这个问题,我希望我的日期范围从结束日期开始并向后迭代。 例如给定输入: start
我正在尝试生成每月数据的日期范围,其中日期总是在月初: pd.date_range(start='1/1/1980', end='11/1/1991', freq='M') 这会生成 1/31/198
我有一个 Dataframe,其中一列有 DateTime 列。 我只对直到秒的日期时间值感兴趣。所以例如 df = pd.DataFrame({'a': np.random.rand(5),
寻找一种复杂的方式循环遍历日期范围并仅在每个星期日运行。 import pandas for da in pandas.date_range("20181101","20181217",freq='B
我的数据框如下所示: df[['reported_date', 'current_date']].head() reported_date current_date 0 20
我想要一个时间戳列表,范围从 00:00:00 到 23:45:00 使用 pandas date_range. 我试过这样 pd.date_range(start=pd.Timestamp('00:
pd.date_range 不接受开始和结束日期的字符串变量。我将我的开始和结束日期作为来自另一个数据框的变量: start_date = yoy_traffic_df['dt'].iloc[0] e
val.index[-1] = '2019-08-01' pd.date_range(start = val.index[-1], periods = 6,freq='M').tolist() [Ti
我是一名优秀的程序员,十分优秀!