Modin Pandas и Dask ничего не делает, кроме зависания - PullRequest
0 голосов
/ 23 января 2020

Я пытаюсь понять, почему это просто зависает с модином и работает нормально с обычным pandas:

import modin.pandas as pd

infile1 = 'D:\\test_files\\curves_crosstab.csv'
infile2 = 'D:\\test_files\\8760_crosstab.csv'
infilenames = [infile1, infile2]

outfile1 = 'D:\\test_files\\curves_sample_output.csv'
outfile2 = 'D:\\test_files\\8760_sample_output.csv'

for i in range(len(infilenames)) :
    if 'curves' in infilenames[i] :
        print("in curves")
        df = pd.read_csv(infilenames[i], header=[0,1,2,3])
        print("read curves")
        df.columns = df.columns.to_flat_index()
        print("indexed columns")
        df.columns = ['_'.join(i) for i in df.columns]
        print("joined columns")
        df2 = df.melt(id_vars=['Unnamed: 0_level_0_Unnamed: 0_level_1_Unnamed: 0_level_2_Year',
            'Unnamed: 1_level_0_Unnamed: 1_level_1_Unnamed: 1_level_2_Month',
            'Unnamed: 2_level_0_Unnamed: 2_level_1_Unnamed: 2_level_2_Day',
            'Unnamed: 3_level_0_Unnamed: 3_level_1_Unnamed: 3_level_2_Hour'])
        print("melted")
        df2 = pd.concat([df2,df2.variable.str.split('_',expand=True)],axis=1)
        del df2['variable']
        print("deleted variable column")
        df2.rename(columns={'Unnamed: 0_level_0_Unnamed: 0_level_1_Unnamed: 0_level_2_Year' : 'Year' ,
                            'Unnamed: 1_level_0_Unnamed: 1_level_1_Unnamed: 1_level_2_Month' : 'Month',
                            'Unnamed: 2_level_0_Unnamed: 2_level_1_Unnamed: 2_level_2_Day' : 'Day',
                            'Unnamed: 3_level_0_Unnamed: 3_level_1_Unnamed: 3_level_2_Hour' : 'Hour',
                            0 : 'currency', 
                            1 : 'consultant_or_case', 
                            2 : 'name', 
                            3 : 'hub', 
                            'value' : 'rate_in_local_currency'}, inplace = True)
        print("renamed")
        pd.DataFrame.to_csv(df2, path_or_buf=outfile1,index=False,encoding='utf-8')
        print("created csv")
    else :

        df = pd.read_csv(infilenames[i], encoding='cp1252')
        df2 = df.melt(id_vars=['Month','Day','Hour'])

        pd.DataFrame.to_csv(df2, path_or_buf=outfile2,index=False,encoding='utf-8')

, когда я запускаю его под pandas, он выполняется, но в среднем занимает 87 секунд из-за размера файлов кривых (~ 36,5 МБ и ~ 395 МБ), я надеялся, что модин сможет сократить это время. Скрипт при переключении на Modin запускается, но он просто сидит и ничего не делает. Это даже не дает мне

Waiting for redis server at 127.0.0.1:14618 to respond...
Waiting for redis server at 127.0.0.1:31410 to respond...
Starting local scheduler with the following resources: {'CPU': 4, 'GPU': 0}.

Я не знаю, должно ли это отображаться в консоли или нет, но это не так. сценарий попадает в первое чтение CSV, как я получаю в кривых. Тогда это просто сидит. Больше никогда ничего не делаю. Как я могу понять, что происходит?

ОС - это Windows10, если это имеет значение.

...