0
0 комментариев

Задание заключается в том чтобы найти разницу значений по модулю между двумя столбцами и где она больше то и вывести. Есть файл olympics.csv, там два поля gold и gold1. Находишь разницу и выводишь

И вывел время, делал в jupyter notebook

В случае pandas сделал однострочный вариант

def func():
    return (df['Gold']-df['Gold.1']).idxmax()
 
CPU times: user 4.56 ms, sys: 136 µs, total: 4.7 ms
Wall time: 4.09 ms

И сделал тоже самое только через цикл

def func1( arr, arr1 ):
    sum = 0
    ind = 0
    t = 0
    for i,v in zip(arr, arr1) :
        if abs(i - v) > sum :
            sum = i
            ind = t
        t += 1
    return df.index[ind]
 
CPU times: user 263 µs, sys: 63 µs, total: 326 µs
Wall time: 333 µs

Это в 14 раз быстрее, хотя гениального в коде у меня ничего нету

Правильно ли я использую pandas или он медленный, или же он медленный только для этого случая?)


Добавить комментарий