按发生率分组的100万整数

2024-10-03 06:19:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了100万个介于1和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”,以帮助在熊猫中移动数据。()可能不需要)

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

这就是我被困的地方。有人能给我指出正确的方向吗

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


Tags: csv数据intxtdfforrange数字
2条回答

您可以通过首先按列对进行分组,然后调用.size()来实现

因此,如果包含值的列名为'a',则可以获得包含每个值的元素数的数据帧,其中包括:

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

例如,如果我在110之间运行10000个项目的实验,我得到:

>>> 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

希望能有帮助。熊猫的value_counts()功能就是这样做的

df['A'].value_counts()

相关问题 更多 >