У меня огромный массив данных, и я пытаюсь сделать dask-фреймы данных из списка строк
df_.head()
* * 1004
A | B | C
----------------------------------------
1 | "{a:1, {b:2, c:3}, d:5}" | 4
2 | "{a:5, {b:2, c:3}, d:0}" | 7
...
Обратите внимание, что столбец c является строкой, поэтому я должен сделать literal_eval
.
В пандах я сделал следующее:
import ast
for i in range(0,len(df_),1):
df_.at[i,'B'] = ast.literal_eval(df_.iloc[i,2])
dat = pd.DataFrame()
for i in range(len(df_)):
#Makes the list of dicts into a dataframe
b = pd.DataFrame(df_.iloc[i,2])
#Keeps track of row number
b['A']=i
#Concat with master DF
dat=pd.concat([dat,b], axis=0, ignore_index=True)
Затем, после этого, я объединяю dat
с исходным кадром данных (df_), основанным на столбце A.
Этот процесс занимает вечность, поэтому я хочу сделать это в сумерках.
Спасибо.