def dict_trunkated(collection, df):
dict_all = {}
#collection = shorten_string(collection)
collection = list(collection)
for element in collection:
#counter_el += 1
#print("num dupless", counter_el)
dict_all[element] = {"id_ja" : None, "id_nein" : None ,"ZUW_ja": set(), "ZUW_nein": set(), "missing_ZUW_ja" : set(), "missing_ZUW_nein" : set()}
for rownum in range(0,df.shape[0]):
#counter_zuw += 1
#print("num zuwlist", counter_zuw)
#print(df.iloc[rownum][6][-5:])
if "_Ja" in df.iloc[rownum][6][-5:]:
dict_all[df.iloc[rownum][6][0:-3]]["id_ja"] = df.iloc[rownum][5]
dict_all[df.iloc[rownum][6][0:-3]]["ZUW_ja"].add(df.iloc[rownum][1])
if "_Nein" in df.iloc[rownum][6][-5:]:
dict_all[df.iloc[rownum][6][0:-5]]["id_nein"] = df.iloc[rownum][5]
dict_all[df.iloc[rownum][6][0:-5]]["ZUW_nein"].add(df.iloc[rownum][1])
return dict_all
В настоящее время требуется более трех минут, чтобы проанализировать мой фрейм данных и поместить всю информацию, которая мне нужна, в мой анализ.
Мне интересно, лучше ли менять массивы, которые я использую ранее, на серию Pandas (внутри функций до того, где я готовлю коллекцию, которая используется в этой функции)?
А есть ли способы закрепить мои петли? Я знаю эти лайнеры, но не могу понять, как использовать их в моем контексте ... Особенно моя вторая лопасть кажется очень неэффективной.
Вдохнови меня; -)
My DataFrame Input looks like: *(Sorry don't know how to present it in a better way)*
Relation ID(INT that becomes `ZUW_ja` or `ZUW_no`) ; TERM-ID (INT that becomes `id_ja` or `id_no`) ;
NAME (str which gets stemmed and is used as key for the dict)
Мой вывод dict должен выглядеть следующим образом:
dict_all[key] = {'id_ja': 6176144, 'id_nein': 6176145, 'ZUW_ja': {3842, 1283}, 'ZUW_nein': {3842, 3300753}, 'missing_ZUW_ja': set(), 'missing_ZUW_nein': {3300610, }}