Расчет процент моих данных для разных диапазонов номеров [закрыто]

Я пытаюсь выяснить, как вычислить процент моих данных для разных диапазонов чисел. Итак, у меня есть данные, которые выглядят так:

0.81761
0.255319
0.359551
0.210191
0.374046
0.188406
0.179487
0.265152
0.207792
0.202614
0.150943

.. и у меня есть эти диапазоны:

0-0.3
0.3-0.7
0.7-1

Я хочу узнать из моих данных, какой процент попадает в определенный диапазон чисел. Так, например:

0-0.3 -> 72.7%
0.3-0.7 -> 18.18%
0.7-1 -> 9.09%

Кто-нибудь знает, как это вычислить?

0
задан 26 February 2019 в 08:11

2 ответа

Можно использовать histogram функция от numpy

Напр.

$ python
Python 2.7.12 (default, Nov 12 2018, 14:36:49)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import numpy as np
>>>
>>> data = np.loadtxt('datafile')
>>> hist = np.histogram(data,[0,0.3,0.7,1.0])
>>> print 100.0 * hist[0]/sum(hist[0])
[ 72.72727273  18.18181818   9.09090909]
>>>

Посмотрите, например, NumPy - Гистограмма Используя Matplotlib (конечно, Вы не должны выводить результат на печать).

4
ответ дан 26 October 2019 в 03:49

Используя awk:

awk '
    # Count occurencies
    {
    if ($1 < 0.3) a++
    else if ($1 > 0.7) c++
    else b++
    }
    # Print Percentage of count/NR (num records)
    END {
        printf "< 0.3: %.2f%%\n",a/NR*100
        printf "> 0.3 and < 0.7: %.2f%%\n",b/NR*100
        printf "> 0.7: %.2f%%\n",c/NR*100

    }
' file
5
ответ дан 26 October 2019 в 03:49

Другие вопросы по тегам:

Похожие вопросы: