我有以下两个时间列,“Time1”和“Time2”。我必须计算 Pandas 中的“差异”列,即 (Time2-Time1):
Time1 Time2 Difference
8:59:45 9:27:30 -1 days +23:27:45
9:52:29 10:08:54 -1 days +23:16:26
8:07:15 8:07:53 00:00:38
Run Code Online (Sandbox Code Playgroud)
当 Time1 和 Time2 在不同的时间时,我得到的结果为“-1 days +”。我想要的前两个值的输出如下:
Time1 Time2 Difference
8:59:45 9:27:30 00:27:45
9:52:29 10:08:54 00:16:26
Run Code Online (Sandbox Code Playgroud)
如何在 Pandas 中获得此输出?
两个时间值都在 'datetime64[ns]' dtype 中。
我正在尝试使用 Python 中的分位数回归来预测我的目标变量。
我考虑用于训练和验证的数据来自2015年10月至2017年12月31日期间。
现在模型已经开发出来,我正在尝试预测 2018 年 1 月的值,这会引发以下错误:
ValueError:操作数无法与形状 (34,) (33,) 一起广播
mod = smf.quantreg('ASBCU_SUM~Month+Year+WeekofMonth+DayNum+isHoliday+PCOP_CS+PCOP_LS+PCOP_IFS+PCOP_LSS+PCOP_FSS+PCOP_FS+DayOfWeek_6+DayOfWeek_5+DayOfWeek_2+DayOfWeek_7+DayOfWeek_3+DayOfWeek_4',dfTrainingData)
res = mod.fit(q=0.8)
Run Code Online (Sandbox Code Playgroud)
如果我检查,错误来自 statmodels 内的分位数回归.py 文件。
diff = np.max(np.abs(beta - beta0))
Run Code Online (Sandbox Code Playgroud)
我已经浏览过有关堆栈溢出的类似帖子,建议检查目标变量的数据类型是否为数字。这是变量的数据类型:
ASBCU_SUM:int64
月份:类别
年份:类别
每月一周:类别
是假期:int64
DayNum:int32
PCOP_SUM:int64
PCOP_CS:int64
PCOP_LS:int64
PCOP_IFS:int64
PCOP_LSS:int64
PCOP_FS:int64
PCOP_FSS:int64
DayOfWeek_3:float64
DayOfWeek_2:float64
DayOfWeek_5:float64
DayOfWeek_7:float64
DayOfWeek_4:float64
DayOfWeek_6:float64
使用 2015-2017 年数据开发模型时数据类型相同。
我真的很感谢任何帮助..
我有一个 python pandas 数据框,它有一个如下所示的日期列:
'Birth Date'
0 22/04/73
1 22/03/53
2 22/04/73
3 14/08/77
4 08/05/50
Run Code Online (Sandbox Code Playgroud)
我想将此对象数据类型转换为日期格式,如下所示:04/06/1953...
我尝试转换为 datetime 数据类型,如下所示:
df['Birth Date']=pandas.to_datetime(df['Birth Date'],format='%d/%m/%y')
Run Code Online (Sandbox Code Playgroud)
但输出是这样的:
0 1973-04-22
1 2053-03-22
2 1973-04-22
3 1977-08-14
4 2050-05-08
Run Code Online (Sandbox Code Playgroud)
如何将 1953、1950 等作为年份而不是 2053、2050?