Python 绘图数据2.5%百分位数97.5%百分位数

Python 绘图数据2.5%百分位数97.5%百分位数,python,pandas,data-science,Python,Pandas,Data Science,我正在处理时间序列数据,因此出于某些目的,我会补充一些 import pandas as pd import numpy as np from numpy.random import randint import matplotlib.pyplot as plt rng = pd.date_range('10/9/2018 00:00', periods=10, freq='1H') df = pd.DataFrame({'Random_Number':randint(1, 100, 10)}

我正在处理时间序列数据,因此出于某些目的,我会补充一些

import pandas as pd
import numpy as np
from numpy.random import randint
import matplotlib.pyplot as plt

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()

我可以打印
df
上百分位和下百分位的值:
df.分位数(0.025)
df.分位数(0.975)


但是我如何在图表中添加线条来表示数据集的2.5%和97.5%呢?

使用
plt.axhline
以特定的Y值绘制水平线(转换为
plt.axvline
以特定的X值绘制垂直线):

制作的绘图:

您可以执行以下操作:

import pandas as pd
import numpy as np
from numpy.random import randint
import matplotlib.pyplot as plt

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.hlines(df.quantile(0.025), xmin=min(rng), xmax=max(rng), linestyle="--", color="r")
plt.hlines(df.quantile(0.975), xmin=min(rng), xmax=max(rng), linestyle="--", color="r");

查看
ax.hline
import pandas as pd
import numpy as np
from numpy.random import randint
import matplotlib.pyplot as plt

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.hlines(df.quantile(0.025), xmin=min(rng), xmax=max(rng), linestyle="--", color="r")
plt.hlines(df.quantile(0.975), xmin=min(rng), xmax=max(rng), linestyle="--", color="r");