- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两种不同类型的数据。第一个数据帧以小时为单位,第二个数据帧以分钟为单位。所以,我需要分别提前24小时和30分钟预测这个数据。但我无法使我创建的函数能够使用这两种数据框。
比方说,我想将我的数据集划分为训练数据集和测试数据集。
hours
def split_data(df, tend):
train=df[:index-pd.DateOffset(hours=1)]
test=df[index:index+pd.DateOffset(hours=tend-1)]
分钟
def split_data(df, tend):
train=df[:index-pd.DateOffset(minutes=1)]
test=df[index:index+pd.DateOffset(minutes=tend-1)]
def split_data(df, tend):
train=df[:index-pd.DateOffset(1)]
test=df[index:index+pd.DateOffset(tend-1)]
我期望该函数可以在两种数据帧上工作,我也尝试分配该函数,但失败了。
最佳答案
我认为您需要使用关键字参数来传递多个值,如下所示:
ts = pd.Timestamp('2017-01-01 09:10:11')
ts
Timestamp('2017-01-01 09:10:11')
ts + pd.DateOffset(months=3)
Timestamp('2017-04-01 09:10:11')
ts + pd.DateOffset(days=3)
Timestamp('2017-01-04 09:10:11')
custom_args = {"days":1, "hours":3} # pass variable number of arguments
ts + pd.DateOffset(**custom_args)
Timestamp('2017-01-02 12:10:11')
custom_args = {"days":1, "hours":0}
ts + pd.DateOffset(**custom_args)
Timestamp('2017-01-02 09:10:11')
custom_args = {"days":1, "hours":0, "minutes":0}
ts + pd.DateOffset(**custom_args)
Timestamp('2017-01-02 09:10:11')
对于您的情况,您可以尝试以下方式:
def split_data(df, tend, custom_args, unit="hours"): # or unit can be minutes
custom_args[unit] = 1
train=df[:index-pd.DateOffset(**custom_args)]
custom_args[unit] = tend - 1
test=df[index:index+pd.DateOffset(**custom_args)]
custom_args = {"hours":0, "minutes":0, "minutes":0} # you can specify more arguments based on your requirements.
split_data(df, tend, custom_args, unit="hours")
要查看您可以传递的所有参数,请查看此链接 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.tseries.offsets.DateOffset.html
关于python - 如何更改python代码中pd.DateOffset中的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56230365/
我试着理解为什么 print(pd.Timestamp("2015-01-01") - pd.DateOffset(day=1)) 不会导致 pd.Timestamp("2014-12-31") 我正
以下返回 True 正常吗? 这背后的想法是什么? import pandas as pd t = pd.Timestamp('2017-01-01 00:00:00') t + pd.DateOff
我原以为这会很简单,但下面的内容无法满足我的要求。只是尝试通过使用另一列的值将天数添加到预先存在的日期时间列来计算新的日期列。我下面的“偏移量”列只有一位数字。 df['new_date'] = df
我有一个数据框 [in] MyDates [out] 2017-04-04 -5.0 2017-04-03 -5.0 2017-03-31 -4.0 201
Pandas 目前允许您将工作日添加到给定日期 datetime.today() + 3*BDay() .我想扩展工作日的想法,以排除给定的假日和周末 DateIndex。是否可以将 DateInde
奇怪的是: In[]: import pandas as pd pd.Timestamp('2015-10-10') - pd.DateOffset(month=1) Out[]: T
给定一个日期时间x,我想计算给定时间(在我的例子中为09:00)的最新日期时间。也就是说,如果 x 中的时间晚于 09:00 那么我想获取与 x 日期相同的新日期时间(和时间 09:00),如果 x
我正在尝试以编程方式构建一个 pandas TimeGrouper。快速查看代码会发现 TimeGrouper 的 __init__ 方法的 freq 参数被转换为 DateOffset 通过 to_
我正在尝试使用 Pandas 在 Python 中创建一个时间索引,其中的条目对应于一个经常性的发薪日。具体来说,我想让索引对应于该月的第一个和第三个星期五。有人可以提供一个代码片段来证明这一点吗?
有没有办法比较两个 DateOffset 对象的大小? >>> from pandas.core.datetools import * >>> Hour(24) > Minute(5) False 这
在 pandas 文档中,当谈到诸如“W”或“W-SUN”之类的频率字符串时,可以读到“Under the hood, these frequency strings are being transl
我有一个每小时频率的日期时间索引数据框。我想制作一个 groupby 对象 - 按季节分组。按季节,我的意思是 Spring 是第 3、4、5 个月,夏季是第 6、7、8 个月,依此类推。我想为每个年
我正在处理 future 数据,当天从 00:00:00 开始。考虑到日期偏移,我需要将 1 分钟数据重采样为 1 小时数据。让我们看一个例子: df1 - 1 分钟数据
我有两列: date age 0 2016-01-05 47.0 1 2016-01-05 43.0 2 2016-01-05 28.0 3 2016-0
我在 pandas 中使用 DateOffset 时看到以下行为。 In [25]: import pandas as pnd d = pnd.Timestamp('2013-01-01 16:00'
采用以下具有小漂移的正态分布项的 DataFrame: np.random.seed(123) df = pd.DataFrame(np.random.randn(60,3) / 100 + 0.00
我是一名优秀的程序员,十分优秀!