Python Pandas:如何确定数据集的分布?

Use*_*YmY 2 python plot histogram pandas

这是我的数据集,包含两列 NS 和计数。

    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
Run Code Online (Sandbox Code Playgroud)

现在我想通过绘制它来看看有多少 NS 具有相同的计数。我自己的猜测是我可以使用直方图来查看,但我不确定如何。任何人都可以帮忙吗?

wil*_*ill 5

从您的评论来看,我猜您的数据表实际上要长得多,而且您想查看名称服务器的分布counts(无论这里有多少)。

我认为你应该能够做到这一点:

df.hist(column="count")
Run Code Online (Sandbox Code Playgroud)

你会得到你想要的。如果那是你想要的。

不过,pandas 对它的所有功能都有不错的文档,直方图在此处进行了描述。

如果您真的想查看“有多少具有相同的计数”,而不是分布的表示,那么您需要将binskwarg 设置为df["count"].max()-df["count"].min()- 或者按照您所说的进行并计算您获得每个的次数count然后创建一个条形图。

也许是这样的:

from collections import Counter
counts = Counter()
for count in df["count"]:
  counts[count] += 1

print counts
Run Code Online (Sandbox Code Playgroud)

另一种更简洁的方法,我完全错过了,二战在下面指出的,只是使用标准的构造函数Counter

count_counter = Counter(df['count'])
Run Code Online (Sandbox Code Playgroud)