【发布时间】:2019-03-08 04:04:30
【问题描述】:
我有一个庞大的数据集,我正在尝试从字符串列表中制作 dask 数据帧
df_.head():
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 与基于 A 列的原始数据框 (df_) 合并。
这个过程需要很长时间,所以我想在黎明时分完成。
谢谢。
【问题讨论】:
-
嗨丹尼尔,你介意提供mcve吗?
标签: python pandas dictionary dask