我有一个嵌套的json文件,可以将其转换为Pandas Dataframe:
tabell = pd.DataFrame.from_records(r.response['trades'])
它看起来像这样:
id instrument price initialUnits takeProfitOrder
0 AUD_CAD 0.90 10000 NaN
1 AUD_CAD 0.89 10000 {'id': '379895', 'createTime': '2020-06-15T12:...
我想从内部字典中提取“ id”字段,并将其保留为该列中的值。
如果我写这个,它会起作用:
tabell.loc[1]['takeProfitOrder'] = tabell.loc[1]['takeProfitOrder']['id']
但是,我不知道哪几行。因此,我不想循环遍历。
但是,如果我只写那是我想要的,它将失败:
tabell['takeProfitOrder'] = tabell['takeProfitOrder']['id']
显然,它在第一行失败,因为它包含“ NaN”而不是字典。
最有效的方法是什么。此操作需要在相对较大的数据集上进行很多次。因此,我需要一种有效的方法来实现它。
有什么建议吗?
答案 0 :(得分:1)
使用Series.str.get
来处理缺失值:
tabell['takeProfitOrder'] = tabell['takeProfitOrder'].str.get('id')