Python熊猫:如何确定数据集的分布?
这是我的数据集,有两列NS和countPython熊猫:如何确定数据集的分布?,python,pandas,plot,histogram,Python,Pandas,Plot,Histogram,这是我的数据集,有两列NS和count NS count 0 ns18.dnsdhs.com. 1494 1 ns0.relaix.net. 1835 2 ns2.techlineindia.com.
NS count
0 ns18.dnsdhs.com. 1494
1 ns0.relaix.net. 1835
2 ns2.techlineindia.com. 383
3 ns2.microwebsys.com. 1263
4 ns2.holy-grail-body-transformation-program.com. 1
5 ns2.chavano.com. 1
6 ns1.x10host.ml. 17
7 ns1.amwebaz.info. 48
8 ns2.guacirachocolates.com.br. 1
9 ns1.clicktodollars.com. 2
现在我想通过绘制图来了解有多少NSs具有相同的计数。我自己的猜测是,我可以使用直方图来看到这一点,但我不知道如何。有人能帮忙吗?根据您的评论,我猜您的数据表实际上要长得多,您希望看到名称服务器计数的分布情况(无论这里有多少计数) 我认为你应该能够做到这一点:
df.hist(column="count")
你会得到你想要的。如果这是你想要的
pandas对它的所有功能都有很好的文档,并且描述了直方图
如果您确实想查看“有多少个具有相同的计数”,而不是分布的表示,那么您需要将bin
kwarg设置为df[“count”].max()-df[“count”].min()
,或者按照您所说的操作,计算得到每个计数的次数,然后创建一个条形图
可能是这样的:
from collections import Counter
counts = Counter()
for count in df["count"]:
counts[count] += 1
print counts
另一种更干净的方法是使用计数器的标准构造函数
,我完全错过了这一方法,并且在下面的二战中指出了这一点:
count_counter = Counter(df['count'])
我不认为柱状图是你想要的,它们是用来显示数据沿一个连续变量的分布——你只有10个不同的名称服务器。条形图用于绘制不同类别的频率。“你试过了吗?”威尔:不,我没有试过。但是我想我必须计算具有相同计数的NS服务器的数量,对吗?您可以使用df.plot(kind='bar')
@Mee绘制好的,我不知道您想要绘制什么-我没有意识到数据帧比您那里的数据帧大。或者只是collections.Counter(df['count'])
。