Я выполнял некоторое профилирование некоторых Pandas операций DataFrame и заметил, что первая операция занимает значительно больше времени, есть какие-то издержки c.
Например, в записная книжка:
import pandas as pd
import numpy as np
df = pd.DataFrame({'a': np.random.randn(1000), 'b': np.random.randn(1000)})
%%time
df['sum'] = df['a'] + df['b']
Время стены: 14 мс
%%time
df['sum2'] = df['a'] + df['b']
Время стены: 1 мс
I сделал% prun и увидел, что первая операция делает вызовы nt.stat, winreg.OpenKey, как будто он выполняет некоторые операции с файловой системой по какой-то причине. Я заметил подобное поведение и на Linux машине.
В чем причина и возможно ли это исправить? Это действительно замедляет некоторую обработку, которую я выполняю, включая выполнение пакета операций над набором небольших DataFrames и выполнение этой первой операции, которая занимает больше времени, чем все остальные вместе взятые ... Любая помощь будет принята с благодарностью!
Использование Python 3.5.3 и Pandas 0.25.3