我有一些频率数据:
Rank Count
A 34
B 1
C 1
D 2
E 1
F 4
G 112
H 1
...
在字典中:
d = {"A":34,"B":1,"C":1,"D":2,"E":1,"F":4,"G":112,"H":1,.......}
字母表示从最高到最低(A到Z)的排名,以及我在数据集中观察排名的次数。
如果我在字典中已经有了我的观察值的频率,我如何绘制累积分布函数?我希望能够看到观察结果的总体排名。例如:我的观察结果中有50%的排名低于E。
我一直在寻找有关这方面的信息,但我总是能从原始观测数据中找到绘制CDF的方法,而不是从计数中。
提前谢谢。
发布于 2018-08-02 05:56:37
也许你想画一个条形图,在x轴上有排名,在y轴上有cdf?
u = u"""Rank Count
A 34
B 1
C 1
D 2
E 1
F 4
G 112
H 1"""
import io
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv(io.StringIO(u), delim_whitespace=True)
df["Cum"] = df.Count.cumsum()/df.Count.sum()
df.plot.bar(x="Rank", y="Cum")
plt.show()
https://stackoverflow.com/questions/51642554
复制相似问题