【发布时间】:2021-05-10 21:55:36
【问题描述】:
我有一个巨大的 twitter 数据数据框 (9530232x19)。第一列包括一个字典。我想在同一个 df 中从该字典项中创建单独的列。此外,我在“实体”列中有一本字典,我想进行类似的分隔。
我想将指标添加为四个新列,例如“rtcount”、“reply_count”、“like_count”和“quote_count”,并将实体[“htype”]作为我现有df右侧的新列,而不创建更多数据帧,因为这个大 df 几乎使用了我所有的 16 GB RAM,并且偶尔会崩溃。我知道对这个大 df 使用 for 循环不是一种有效的方法,但我不知道该怎么做。
非常感谢任何帮助。
htypedf=[]
t=[]
for i in range(0,len(d)):
if i%100==0:
print(i)
htype=[]
hasht=[]
t=d[i:i+1]
metrics=pd.Series(t['public_metrics'][0]).to_frame().T
try:
htype=list(map(lambda x : x['type'], t['entities'][0]['annotations']))
except:
htype=('NaN')
d.iloc[i] = pd.concat([t, metrics, pd.DataFrame({'htype': [htype]})],axis=1)
【问题讨论】:
标签: python pandas dictionary add