python - 从包含几行中的字典的列中提取值
问题描述
我有一个嵌套的 json 文件,我将其转换为 Pandas 数据框:
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”而不是字典。
实现这一目标的最有效方法是什么。这个操作需要在相对较大的数据集上进行很多次。因此,我需要一种有效的方法来完成它。
有什么建议么?
解决方案
用于Series.str.get
可能的处理缺失值:
tabell['takeProfitOrder'] = tabell['takeProfitOrder'].str.get('id')
推荐阅读
- windows - 与 GUI 程序交互的命令行脚本
- c++ - 在 OpenGL 中执行多次反射
- c++ - 如何在保持其值的同时将 c++ unsigned char 变量转换为 char 变量
- flutter - 是否支持在 Flutter 中使用 Facebook SDK?
- react-native-android - React Native onPress 功能不起作用
- caffe - LMDB:如何解释 mdb_stat 和 mdb_dump 实用程序的输出
- selenium - 如何使用 selenium python 使检查窗口处于活动状态?
- android - 使用 Android 分析器时应用程序不断崩溃
- c# - 当客户端超时断开连接时,WCF ServiceHost 崩溃单声道
- go - 返回的参数太多