Я пытаюсь понять, почему это просто зависает с модином и работает нормально с обычным 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, если это имеет значение.