Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 按一系列数字分组_Python_Python 3.x_Data Science - Fatal编程技术网

Python 按一系列数字分组

Python 按一系列数字分组,python,python-3.x,data-science,Python,Python 3.x,Data Science,我在python数据框中有一个数字列表,并希望按特定范围和计数对这些数字进行分组。数字范围从0到20,但假设没有任何数字6,在这种情况下,我希望它显示0 dataframe列看起来像 |points| 5 1 7 3 2 2 1 18 15 4 5 我希望它看起来像下图 range | count 1 2 2 2 3 1 4 1 5 2 6

我在python数据框中有一个数字列表,并希望按特定范围和计数对这些数字进行分组。数字范围从0到20,但假设没有任何数字6,在这种情况下,我希望它显示0

dataframe列看起来像

|points| 
   5
   1
   7
   3
   2
   2
   1
   18
   15
   4
   5
我希望它看起来像下图

range | count
1         2
2         2
3         1
4         1
5         2
6         0
7         ...
8
9...

我将遍历输入行,并用值填充dict。 你要做的就是数数


导入集合
#阅读输入并将数字存储在列表中
行=[]
将open('input.txt')作为f:
lines=[int(line.rstrip())表示f中的行]
#在字典中预先填入从0到输入中出现的最高数字的0。
值={}
对于范围内的i(最大(线)+1):
值[i]=0
#对于任何找到的值,将出现次数增加1
对于行中的val:
值[val]+=1
#命令命令:
values=collections.OrderedDict(已排序(values.items()))
打印(“范围\t | \t计数”)
对于k in值:
打印(str(k)+“\t\t\t”+str(值[k]))
答复:

编辑:

使用dict理解的稍微优雅的版本:


#阅读输入,如第一个示例所示
值={i:0表示范围内的i(最大(行)+1)}
对于行中的val:
值[val]+=1
#按照第一个示例中的顺序进行订购和打印

df.value\u计数
然后附加所需的zeros@Dan我该怎么做呢?先自己试一试——让我们看一些代码。我该如何添加列表中缺少的其他数字?您希望这些数字是什么。这实际上使它更容易。现在看看,这对你有帮助吗?