Который быстрее;добавление в pandas dataframe, затем извлечение в cvs или запись в документ с указателем файла - PullRequest
0 голосов
/ 28 декабря 2018

У меня действительно большие данные, которые я обрабатываю около 500 тыс. Пар запросов.Я полагаю, что производительность моего кода будет зависеть от метода записи, который я использую, так как все остальные функции выполняются в среднем O (n) или O (1).Я также запускаю свой код без всякой записи или вывода.Это значительно быстрее.Поэтому я ищу быстрый способ записи в файл txt / cvs / tvs / *.

Я использую Python3 и читаю данные из списка.После обработки я могу добавить его в кадр данных pandas или просто записать его в выходной файл, используя метод указателя файла .write.

Итак, рассмотрим эти два варианта ниже.Какой из них будет быстрее.Или какой самый быстрый способ.

really_big_data = [1, 2, 3, 4]

# Approach 1
f = open('results.cvs', 'w')
for i in really_big_data:
    if i % 2 == 0:
        f.write("%d,even\n" % i)
    else:
        f.write("%d,odd\n" % i)
f.close()

# Approach 2
df = pd.DataFrame(columns=['Int', 'O/E'])
for i in really_big_data:
    if i % 2 == 0:
        df.append(pd.DataFrame({'Int': i, 'O/E': 'even'}))
    else:
        df.append(pd.DataFrame({'Int': i, 'O/E': 'odd'}))
df.to_csv('results.cvs')
...