У меня есть 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?спасибо за совет