python - 如何展平熊猫中的json字段
问题描述
我正在加载一个带有嵌套值的 json 文件。这是它的加载方式:
>>> pd.read_json('/Users/david/Desktop/validate_headers/json/example_array2.json')
address firstname lastname zip_code
0 {'state': 'MI', 'town': 'Dearborn'} Jimmie Barninger 12345
1 {'state': 'CA', 'town': 'Los Angeles'} John Doe 90027
我想展平嵌套对象,以便我的最终数据框如下所示:
firstname lastname zip_code address.state address.town
Jimmie Barninger 12345 MI Dearborn
John Doe 90027 CA Los Angeles
我将如何做到这一点,也就是说,如果数据框列是一个对象,将该列拆分为多个列(并这样做直到没有 json 对象离开)?
解决方案
简单得多:
df = pd.DataFrame({'address': [{'state': 'MI', 'town': 'Dearborn'} , {'state': 'CA', 'town': 'Los Angeles'}], 'name':['John', 'Jane']})
df = df.join(df['address'].apply(pd.Series))
然后
df.drop(columns='address')
推荐阅读
- c# - 找出 netcore 3.x 中网络 unc 路径上的可用空间和总空间
- javascript - HttpsCallable 云函数的单元测试——在线模式
- angular - Angular 9 中带有图标的选项卡 - 材料
- unit-testing - 大致相等的 Dart 测试
- python - 弹出和追加总是有一个长度为 4 个元素的列表
- javascript - ReactJS:渲染请求组件列表不显示任何信息
- r - 如何通过匹配R中的三个条件来(随机)提取一定数量的行
- identityserver4 - 使用 IdentityServer 4 AddSigningCredential 在带有 linux 容器的 Azure App Service 上加载自签名证书时出错
- java - 如何为 Cloud Function HTTP 触发器生成 JWT?
- bash - 在 WSL 中替换行结束时 sed 行为异常