Сравнение операции zip с операцией срезов панд - PullRequest
0 голосов
/ 16 октября 2018

Интересное наблюдение, которое я чувствовал, я должен уточнить.

Я ожидаю, что операция среза панд должна быть быстрее, чем архивирование столбцов информационного кадра, но при запуске% timeit в обеих операциях операция zip выполняется быстрее ...

import pandas as pd, numpy as np
s = pd.DataFrame({'Column1':range(50), 'Column2':np.random.randn(50), 'Column3':np.random.randn(50)})

И при работе

%timeit s[['Column1','Column3']].loc[30].values

1,06 мс ± 145 мкс на цикл (среднее ± стандартное отклонение из 7 циклов, 1000 циклов каждый)

%timeit dict(zip(s['Column1'],s['Column3']))[30]

53,7 мкс ± 6,07 мкс на цикл (среднее ± стандартное отклонение из 7 циклов, по 10000 циклов каждый)

Это говорит о том, что панды значительно медленнее, чем при использовании функции zip, верно?Я думаю, что, вероятно, только лучше из-за простоты использования.

Будет ли операция применения карты быстрее?

1 Ответ

0 голосов
/ 16 октября 2018

Zip оптимизирован для работы в кеше процессора.Это очень быстро, как и itertools в целом.

...