Apr-13-2023, 06:22 AM
(This post was last modified: May-04-2023, 03:42 PM by Alie.
Edit Reason: Update for need
)
Hello friends. Below is a code I use in Google Colab. It works so slow that I wait for hours. Is it possible to edit this code to run faster? I would be very happy if you can help. Happy days everyone..
[inline]
[inline]
[python]from itertools import combinations import pandas as pd import numpy as np from google.colab import files # Veriler------------------------------ # Sadece aşağıdaki rakamlar ve çift tek kısımları değişltirilecek. # Sonra yukarıdaki menüde Çalışma Zamanı --> Tümünü Çalıştır. kume_1 = [[ 9,6,9,9,7,7,], "cift"] kume_2 = [[ 9,9,6,6,9,9,7,10,], "tek"] kume_3 = [[ 9,9,9,11,7,], "cift"] kume_4 = [[ 7,9,9,9,7,9,9,10,10,], "cift"] kume_5 = [[ 4,14,4,14,10,14,13,14,13,], "cift"] kume_6 = [[ 14,13,14,13,10,14,13,13,], "cift"] kume_7 = [[ 6,4,6,6,5,14,], "tek"] kume_8 = [[ 8,14,8,5,4,14,13,], "tek"] kume_9 = [[ 11,11,9,11,], "cift"] kume_10 = [[ 10,10,7,9,], "tek"] kume_11 = [[ 11,6,11,], "tek"] kume_12 = [[ 10,8,8,], "tek"] kume_13 = [[ 10,12,11,1,], "tek"] kume_14 = [[ 11,1,], "cift"] kume_15 = [[ 11,], "cift"] kume_16 = [[ ], "cift"] kume_17 = [[ 15,15,2,15,], "tek"] kume_18 = [[ ], "cift"] kume_19 = [[ 15,15,15,12,11,12,15,15,], "tek"] kume_20 = [[ 11,12,11,15,15,], "cift"] kume_21 = [[ 15,15,15,], "cift"] kume_22 = [[ 15,15,15,15,], "tek"] kume_23 = [[ 15,], "tek"] kume_24 = [[ 15,15,], "tek"] kume_25 = [[ ], "tek"] kume_26 = [[ 8,8,], "tek"] kume_27 = [[ 8,], "tek"] kume_28 = [[ 16,], "tek"] # ------------------------------------- tum_kumeler = [kume_1, kume_2, kume_3, kume_4, kume_5, kume_6, kume_7, kume_8, kume_9, kume_10, kume_11, kume_12, kume_13, kume_14, kume_15, kume_16, kume_17, kume_18, kume_19, kume_20, kume_21, kume_22, kume_23, kume_24, kume_25, kume_26, kume_27, kume_28] kullanilan_sayilar = [] for kume in tum_kumeler: for sayi in kume[0]: if sayi not in kullanilan_sayilar: kullanilan_sayilar.append(sayi) kullanilan_sayilar.sort() print("Kullanılan Sayılar: ",kullanilan_sayilar ) def sub_lists (l): comb = [] for i in range(len(l)+1): comb += [list(j) for j in combinations(l, i)] return comb[1:] def conver_str(l): result_list = [] for x in l: string = "" for y in x: string +=str(y) + ',' result_list.append(string[:-1]) return (result_list) df = pd.DataFrame(columns = ["Küme 1 " + kume_1[1], "Küme 2 " + kume_2[1], "Küme 3 " + kume_3[1], "Küme 4 " + kume_4[1], "Küme 5 " + kume_5[1], "Küme 6 " + kume_6[1], "Küme 7 " + kume_7[1], "Küme 8 " + kume_8[1], "Küme 9 " + kume_9[1], "Küme 10 " + kume_10[1], "Küme 11 " + kume_11[1], "Küme 12 " + kume_12[1], "Küme 13 " + kume_13[1], "Küme 14 " + kume_14[1], "Küme 15 " + kume_15[1], "Küme 16 " + kume_16[1], "Küme 17 " + kume_17[1], "Küme 18 " + kume_18[1], "Küme 19 " + kume_19[1], "Küme 20 " + kume_20[1], "Küme 21 " + kume_21[1], "Küme 22 " + kume_22[1], "Küme 23 " + kume_23[1], "Küme 24 " + kume_24[1], "Küme 25 " + kume_25[1], "Küme 26 " + kume_26[1], "Küme 27 " + kume_27[1], "Küme 28 " + kume_28[1]], index = conver_str(sub_lists(kullanilan_sayilar))) df.head(5) for x in range(len(df.index)): for y in range(len(df.columns)): sum = 0 for z in df.index[x].split(','): sum += tum_kumeler[y][0].count(int(z)) df.iloc[x,y] = sum df.head(5) df_result = pd.DataFrame(index = df.index, columns = list(df.columns) + ["Sonuç"]) for row in df.index: for col in df.columns: if (df.loc[row, col] % 2 == 0 and col[-1] == "t") or (df.loc[row, col] % 2 != 0 and col[-1] == "k"): df_result.loc[row,col] = 'P' else: df_result.loc[row,col] = 'N' row_result = list(df_result.loc[row]) if row_result.count('P') == 4: df_result.loc[row, "Sonuç"] = 'A' elif (row_result[2] == 'N' or row_result[3] == 'N'): df_result.loc[row, "Sonuç"] = 'B' elif (row_result[0] == 'P' and row_result[1] == 'P'): df_result.loc[row, "Sonuç"] = 'C' elif (row_result[0] == 'N' or row_result[1] == 'N'): df_result.loc[row, "Sonuç"] = 'D' elif (row_result[0] == 'P' or row_result[1] == 'P'): df_result.loc[row, "Sonuç"] = 'E' elif row_result.count('B') == 4: df_result.loc[row, "Sonuç"] = 'F' df_result.sort_values(by=['Sonuç']).head() df_result.sort_values(by=['Sonuç']).to_excel("Sonuçlar.xlsx") files.download('Sonuçlar.xlsx')[/inline]
buran write Apr-13-2023, 06:46 AM:
Please, use proper tags when post code, traceback, output, etc. This time I have added tags for you.
See BBcode help for more info.
Please, use proper tags when post code, traceback, output, etc. This time I have added tags for you.
See BBcode help for more info.