如何将 numpy 数组转换为天、小时、分钟? [英] How do I convert numpy array to days, hours, mins?
本文介绍了如何将 numpy 数组转换为天、小时、分钟?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
与这个系列一起跑步
X = number_of_logons_all.values拆分 = 轮(len(X)/2)X1, X2 = X[0:split], X[split:]mean1, mean2 = X1.mean(), X2.mean()var1, var2 = X1.var(), X2.var()打印('mean1=%f, mean2=%f' % (mean1, mean2))打印('variance1=%f,variance2=%f'%(var1,var2))
我明白了:
mean1=60785.792548, mean2=61291.266868方差1=7483553053.651829,方差2=7603208729.348722
但我想在我的 PyCharm 控制台中使用类似的东西(从另一个结果中提取):
<预><代码>>>>-103 天 +04:37:13.802435724...尝试将 np.array 放入 pd.Dataframe() 以通过添加获得预期值
.apply(pd.to_timedelta, unit='s')
...这不起作用,所以我尝试了
new = pd.DataFrame([mean1]).to_numpy(dtype='timedelta64[ns]')
...而且(仍然)得到这样的结果:
<预><代码>>>>>[[63394]]有人可以帮助我从上面的均值计算中转换为易于理解的日期时间结果吗?
感谢您的支持.
解决方案
你可以使用 f-string
s:
mean1, mean2 = 60785.792548, 61291.266868方差1,方差2=7603208729.348722,7483553053.651829打印(f'mean1={pd.Timedelta(mean1,unit=s")},mean2={pd.Timedelta(mean2,unit=s")}')打印(f'variance1={pd.Timedelta(variance1,unit=s")},variance2={pd.Timedelta(variance2,unit=s")}')mean1=0 天 16:53:05.792548, mean2=0 天 17:01:31.266868方差 1=88000 天 02:25:29.348722458,方差 2=86615 天 04:44:13.651828766
Running with this series
X = number_of_logons_all.values
split = round(len(X) / 2)
X1, X2 = X[0:split], X[split:]
mean1, mean2 = X1.mean(), X2.mean()
var1, var2 = X1.var(), X2.var()
print('mean1=%f, mean2=%f' % (mean1, mean2))
print('variance1=%f, variance2=%f' % (var1, var2))
I get:
mean1=60785.792548, mean2=61291.266868
variance1=7483553053.651829, variance2=7603208729.348722
But I wanted something like this in my PyCharm console (pulled from another result):
>>> -103 days +04:37:13.802435724...
Tried to place the np.array in a pd.Dataframe() to get the expected value by adding
.apply(pd.to_timedelta, unit='s')
...this didn't work, so I tried
new = pd.DataFrame([mean1]).to_numpy(dtype='timedelta64[ns]')
...and (still) got something like this:
>>>> [[63394]]
Anyone out there who could assist me converting to an easily comprehended datetime result from my means calculation above?
Thx, in advance for your kind support.
解决方案
You can use f-string
s:
mean1, mean2 = 60785.792548, 61291.266868
variance1, variance2=7603208729.348722,7483553053.651829
print(f'mean1={pd.Timedelta(mean1, unit="s")}, mean2={pd.Timedelta(mean2, unit="s")}')
print(f'variance1={pd.Timedelta(variance1, unit="s")}, variance2={pd.Timedelta(variance2, unit="s")}')
mean1=0 days 16:53:05.792548, mean2=0 days 17:01:31.266868
variance1=88000 days 02:25:29.348722458, variance2=86615 days 04:44:13.651828766
这篇关于如何将 numpy 数组转换为天、小时、分钟?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文