Рассчитать скорость на основе файла CSV в Numpy, потому что с помощью Pandas Memory Error - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть CSV-файл с большими данными, около 1-2 миллионов.Я хочу рассчитать скорость и обозначить скорость на основе этих данных.Я хочу использовать простой код Numpy или pandas для анализа моих данных.

Я использовал это уравнение для этого анализа (на изображении):

https://i.stack.imgur.com/yznBQ.jpg

Я использовал pandasрассчитать скорость, но она потребляет память, и я получил ошибку памяти.

Мои данные выглядят так:

    ID  X   Y   T
 0  ID1 40  41  1
 1  ID2 43  43  2
 2  ID3 45  45  3
 3  NaN 44  23  5
 4  ID1 43  47  4
 5  ID2 34  49  5
 6  ID3 57  51  6

Я отсортировал данные по ключу (первый и последний), но результат должен включать все данные между первым и последним ключом, а не только уникальные данные.

       T_1  X_1 Y_1 T_2 X_2 Y_2 T_3 X_3 Y_3 T_4 X_4 Y_4 T_5 X_5 Y_5
 ID                                                         
 ID1    1   40  41  2   43  43  3   45  45  5   44  23  4   43  47
 ID2    2   43  43  3   45  45  5   44  23  4   43  47  5   34  49
 ID3    3   45  45  5   44  23  4   43  47  5   34  49  6   57  51

для скорости Я использовал этот код:

    def v_2(i):
         return (df.ix[x,(5+3*(i-1))]-df.ix[x,(2+3*(i-1))])**2 + (df.ix[x,(6+3*(i-1))]-df.ix[x,(3+3*(i-1))])**2

    def v(i):
        if (df.ix[x,(4+3*(i-1))]-df.ix[x,(1+3*(i-1))]) ==0:
           return 0
    else:
        if (df.ix[x,(4+3*(i-1))]-df.ix[x,(1+3*(i-1))]) <0:
            return 0
    else:
        return math.sqrt(v_2(i)) / (df.ix[x,(4+3*(i-1))]-df.ix[x,(1+3*(i-1))]) 

Мой ожидаемый результат выглядит следующим образом:

    Mean    V_1     V_2     V_3
ID1 0.62    0.74    1.41    0
ID2 0.46    1.41    0       0
ID3 0       0       0       0

Как анализировать эти данные, используя numpy?спасибо за совет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...