python - 从包含 JSON 的列中删除字符串
问题描述
我有以下数据框:
details
0 {"id":123,"code":"","name":"abc123","email":"test1@gmail.com","status":"good"}
1 {"id":124,"code":"","name":"abc456","email":"test2@gmail.com","status":"bad"}
我希望删除此数据框中的每一行,数据类型当前是一个对象abc123
。abc456
我试图转换为字符串和条带,并使用以下内容:
lambda x: x.lstrip('name"":""').rstrip('"",""email"":'))
但它没有捕捉到这些值。
预期的输出应该是一个只有代码值的数据框:
code
0 abc123f
1 abc456
完成上述问题的最佳方法是什么?
非常感谢任何指导。
解决方案
您可以尝试以下方法:
>>> df['code'] = df.pop('details').str['name']
>>> df
code
0 abc123
1 abc456
>>>
或者如果字典是字符串:
>>> df['code'] = df.pop('details').str.extract(r"'name': '(.*?)'")
>>> df
code
0 abc123
1 abc456
>>>
推荐阅读
- java - 测试 SSL Vertx 服务器和客户端运行状况检查时出错
- linux - /proc/PID/maps 中的散点图
- javascript - 使用 svelte:self 添加到嵌套 JSON?
- reactjs - 在使用 axios 从 API 获取数据方面需要帮助
- c - C 有一种 docblock 语法吗?它在STM32CubeIDE中工作吗?
- php - 我收到未定义的变量错误。为这里提供的无效参数是我的控制器:
- python - 验证准确度在波动
- javascript - Sencha ExtJS 5.1.1 版应用程序的触摸屏监视器中的滚动条消失
- c - 使用 for 循环和 switch 语句来计算几何级数相对于 C 中不同参数的总和
- javascript - 已成功找到“Firebase”包。但是,这个包本身指定了一个无法解析的“主”模块字段