为了账号安全,请及时绑定邮箱和手机立即绑定

熊猫计算增量时间

熊猫计算增量时间

慕村9548890 2022-07-26 10:43:59
这是一些将生成一些随机数据的代码,以及代表第 30 和第 90 百分位数的图表和线条。import pandas as pd import numpy as np from numpy.random import randint import matplotlib.pyplot as plt                                                                                                                                                       %matplotlib inlinenp.random.seed(10)  # added for reproductibility                                                                                                                                                                 rng = pd.date_range('10/9/2018 00:00', periods=10, freq='1H') df = pd.DataFrame({'Random_Number':randint(1, 100, 10)}, index=rng)                                                                                                                   df.plot()    plt.axhline(df.quantile(0.3)[0], linestyle="--", color="g")                                                                                                                                                    plt.axhline(df.quantile(0.90)[0], linestyle="--", color="r")                                                                                                                                                    plt.show()输出:(减去图表中突出显示的部分)我试图弄清楚是否可以计算从绿色到红线到达(突出显示的黄色)数据所需的时间。我可以手动输入数据:minStart = df.loc[df['Random_Number'] < 18].index[0]maxStart = df.loc[df['Random_Number'] > 90].index[0]hours = maxStart - minStarthours这将输出:Timedelta('0 days 05:00:00')但如果我尝试使用:minStart = df.loc[df['Random_Number'] < df.quantile(0.3)].index[0]maxStart = df.loc[df['Random_Number'] > df.quantile(0.90)].index[0]hours = maxStart - minStarthours这将抛出一个ValueError: Can only compare identically-labeled Series objects有没有更好的发疯方法?理想情况下,创建某种算法可以计算从第 30 到第 90 个百分位然后从第 90 到第 30 位返回所需的增量时间,这将是很好的。但我可能需要考虑一下如何实现完成..
查看完整描述

1 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

minStart = df.loc[df['Random_Number'] < df.quantile(0.3)[0]].index[0]


maxStart = df.loc[df['Random_Number'] > df.quantile(0.90)[0]].index[0]


hours = maxStart - minStart

hours

df.quantile 不返回数字,因此您需要获取它的第一个条目


查看完整回答
反对 回复 2022-07-26
  • 1 回答
  • 0 关注
  • 53 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信