我有一个Pandas序列,它有一个索引,这些值是索引中每个值的计数。我想绘制一个CDF (最好是直线,而不是整个直方图),其中x轴表示索引。
例如,如果我的序列是s
,我将s.index
作为应该在x轴上表示的值的数组,而s.values
是计数。我试着只做s.plot(cumulative = True,...)
,但这会把值放在x轴上,而不是索引上。
示例:s.index
生成一个从0到1的值数组,增量为0.01 (0.00,0.01,0.02,... 1.00)。s.values
产生一个计数数组,例如(4372,1340,205,...),其中每个计数对应于索引(0.01的计数为1340)。我希望x轴是0.00,0.01,...Y轴从0到1,作为基于计数的累积分布。
发布于 2020-04-23 20:28:46
使用seaborn包,您可以实现以下目标:
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
x = np.arange(0,.1,0.01)
df = pd.DataFrame({'value':[1340,1200,1300,1150,1421,1175,1232,1432,1123,1231]},index=x)
df
value
0.00 1340
0.01 1200
0.02 1300
0.03 1150
0.04 1421
0.05 1175
0.06 1232
0.07 1432
0.08 1123
0.09 1231
sns.distplot(df.index, rug=True, hist=False)
plt.show()
https://stackoverflow.com/questions/61386763
复制相似问题