比如这么一列数据
10 1
10 7
10 15
20 4
20 17
70 2
70 7
70 9
70 7
70 15
100 13
100 17
150 2
150 4
150 6
200 1
200 2
200 7
200 18
220 17
220 13
220 17
最后输出结果
按范围统计次数
0~50 50~100 100~150 150~200 >200
10~20 2 3 0 1 4
0~10 3 4 3 3 0
按范围统计分布率
0~50 50~100 100~150 150~200 >200
10~20 7% 11% 0% 4% 14%
0~10 11% 14% 11% 11% 0%
该如何实现啊
arr = [
[10 , 1],
[10 , 7],
[10 , 15],
[20 , 4],
[20 , 17],
[70 , 2],
[70 , 7],
[70 , 9],
[70 , 7],
[70 , 15],
[100 , 13],
[100 , 17],
[150 , 2],
[150 , 4],
[150 , 6],
[200 , 1],
[200 , 2],
[200 , 7],
[200 , 18],
[220 , 17],
[220 , 13],
[220 , 17]
]
t = [[0 for x in range(250//50)] for x in range(20//10)]
da = {}
for v1,v2 in arr:
t[v2//10][v1//50] += 1
print("{:>10}".format(''),end="")
for i in range(len(t[0])):
print("{:>10}".format(f"{i*50}-{i*50+50}"),end="")
print()
for i in range(len(t)-1,-1,-1):
print("{:>10}".format(f"{i*10}-{i*10+10}"),end="")
for j in range(len(t[i])):
print("{:>10}".format(t[i][j]),end="")
print()
print('----------------------------------')
print("{:>10}".format(''),end="")
for i in range(len(t[0])):
print("{:>10}".format(f"{i*50}-{i*50+50}"),end="")
print()
for i in range(len(t)-1,-1,-1):
print("{:>10}".format(f"{i*10}-{i*10+10}"),end="")
for j in range(len(t[i])):
print("{:>10.2%}".format(t[i][j]/len(arr)),end="")
print()
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y