python - 使用原始数据框从包含 JSON 数据的列中提取数据
问题描述
我的数据框df
如下:
API sp_name sp_input_params
getData analytics.sp_1 {'req_url_query_params': [['@scroll_index', 'index']],
'req_body_params': [['@event_type_id', 'event_type_id']]}
getParam analytics.sp_2 {'req_url_query_params': [['@athlete_guid', 'athlete_guid']],
'req_body_params': []}
现在我想规范化这个领域sp_input_params
。实现这一目标的方法之一
df_final = pd.json_normalize(df['sp_input_params'])
但上面不会保留其他两列,即API
和sp_name
。我想让它们与标准化的保持一致。
对此有任何线索吗?
解决方案
我认为您可以使用 if 默认索引 in df.index
:
df_final = df.join(pd.json_normalize(df.pop('sp_input_params')))
如果没有,请使用:
df_final = df.join(pd.json_normalize(df.pop('sp_input_params')).set_index(df.index))
推荐阅读
- ssl - 在 Ingress 中使用 Let's Encrypt 时出错:颁发证书为 Secret 不存在使用
- c# - 自定义 pactnet 合约文件名
- rust - 通过从选项中取出引用来延长对象的生命周期
- php - 在多维中格式化simpe数组
- redis - 无法从 systemd 启动 redis
- python - Gmail中的UID - 每个“文件夹”还是每个用户帐户唯一?
- hive - 列名作为参数
- java - io.netty.handler.codec.DecoderException:javax.net.ssl.SSLHandshakeException:收到致命警报:bad_certificate
- javascript - 修改渐变叠加位置
- javascript - 每次在循环中运行的计时器