1百万个整数组按-发生

时间:2018-10-09 18:29:36

标签: python pandas random pandas-groupby

我创建了1到100之间的100万个随机整数,并将结果写入文本文件。

Results_File = open('RandomResults.txt','w')
for i in range(1000000):
    x = random.randint(1,100)
    Results_File.write(str(x) + "," + '\n')

行得通。但是我想找到整个数据集中每个整数的出现。

因此,我将文件导入到新的python会话中,并根据数据创建了一个数据框。 (我还打开了csv并创建了标题栏“ A”,以帮助在Pandas中移动数据。(可能不需要)

  df = pd.read_csv('RandomNumbers.csv','r') 
  df.sort_values(by=['A'])

这就是我被困住的地方。有人可以指出我正确的方向吗?

我想看看每个数字在这种随机分布的数字中出现的频率。

2 个答案:

答案 0 :(得分:1)

希望有帮助。熊猫的value_counts()功能可以做到这一点。

df['A'].value_counts()

答案 1 :(得分:0)

您可以先按列对它们进行分组,然后调用.size()

因此,如果包含值的列名为'a',则可以使用以下方法获得包含每个 per 值元素数量的数据框:

df.groupby('a').size()

例如,如果我在110之间使用10 000个项目进行实验,我得到:

>>> df.groupby('a').size()
a
1,     1023
10,    1005
2,     1042
3,      951
4,     1046
5,      949
6,     1015
7,     1004
8,      996
9,      969
dtype: int64