Я работаю над выполнением вычислений для больших файлов по 6 ГБ каждого файла и наткнулся на Модин панд , которые, как я слышал, оптимизированы по сравнению с пандами.
Мне нужно прочитать CSV-файл в блоках, выполнить вычисления, добавить его в большой фрейм данных и снова преобразовать большой фрейм данных в CSV файл.
Это прекрасно работает с Пандами . Но на обработку даже небольших файлов уходит слишком много времени. И я даже не могу представить это для 6GB файлов.
Однако, когда я пытаюсь сделать то же самое с модинами пандами, он не может добавить фрейм данных к большому фрейму данных, который я хочу преобразовать в csv файл.
Может кто-нибудь предложить какую-либо альтернативу этому или решение.
Python - 3.6
Pandas - 0.24.2
Modin Pandas - 0.5.2
код.
import modin.pandas as pd
def calculate_visit_prioritization(df):
# calculations here
return df
def get_all_data():
big_df = pd.DataFrame()
for df in pd.read_csv('./samp.csv', chunksize=50):
big_df = big_df.append(calculate_visit_prioritization(df))
big_df.to_csv('samps3.csv', index=False)
def main():
get_all_data()
if __name__ == '__main__':
main()
Ошибка при использовании Modin pandas для добавления фреймов данных.
UserWarning: DataFrame.append
для пустого DataFrame по умолчанию
реализация панд.
Файл
"/Home/tony/.local/lib/python3.6/site-packages/pandas/core/reshape/concat.py",
строка 289, в __init__
повышение TypeError (msg)
TypeError: невозможно объединить объект типа ""; только pd.Series, pd.DataFrame,
и pd.Panel (устаревшие) объекты действительны
Я прошел по этой ссылке , где сказано, что функция .append()
для панд частично (P) реализована в Модине.