Python 从包含几行DICT的列中提取值
我有一个嵌套的json文件,我将其转换为数据帧:Python 从包含几行DICT的列中提取值,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个嵌套的json文件,我将其转换为数据帧: 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', '
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:...
我想从内部dict中提取'id'字段,并将其保留为该列中的值
如果我写这篇文章,它会起作用:
tabell.loc[1]['takeProfitOrder'] = tabell.loc[1]['takeProfitOrder']['id']
但是,我不知道是哪一行,而且是几千行。因此,我不想使用循环进行迭代
但如果我只是写,这就是我想要的,它失败了:
tabell['takeProfitOrder'] = tabell['takeProfitOrder']['id']
显然,它在第一行失败,因为它包含“NaN”而不是dict
实现这一目标最有效的方法是什么。这个操作需要在相对较大的数据集上执行很多次。因此,我需要一种有效的方法来完成它
有什么建议吗?用于处理可能丢失的值:
tabell['takeProfitOrder'] = tabell['takeProfitOrder'].str.get('id')
谢谢这很有效。我已经尝试过tabell['takeProfitOrder']=tabell['takeProfitOrder'].get('id'),但它不起作用。没有考虑到.strFirst time saw.str.get的作用。好东西,干杯