You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从JSON列表的字典中提取全部siblings数据生成DataFrame

解决提取JSON中所有siblings数据的问题

我来帮你搞定这个问题!你现在的代码只拿到了每个siblings列表的第一个元素,想要把所有兄弟姐妹的姓名整合成列表、电话拼成逗号分隔的字符串对吧?咱们一步步来实现:

步骤1:创建初始DataFrame

首先把你的JSON数据转换成Pandas DataFrame:

import pandas as pd

# 你的原始JSON数据
data = [{'id': '1', 'fnamae': 'Rasab', 'lname': 'Asdaf', 'Age': 21, 'Language': ['python', 'json'], 'parents': {'mother': {'name': 'Mrs. Mother', 'phone': '1212121212'}, 'father': {'name': 'Mr. Father', 'phone': '1212121212'}}, 'siblings': [{'name': 'jamuna', 'phone': 564851312}, {'name': 'Killana', 'phone': 1212121212}]}, {'id': '2', 'fnamae': 'Muddassir', 'lname': 'Jameel', 'Age': 25, 'Language': ['React', 'json'], 'parents': {'mother': {'name': 'Mrs. Mutherinlaw', 'phone': 9654512}, 'father': {'name': 'Mr. Futherinlaw', 'phone': 53154278}}, 'siblings': [{'name': 'Giallan', 'phone': 998742568}, {'name': 'Simba', 'phone': 12355875}]}, {'id': '3', 'fnamae': 'Farhan', 'lname': 'Akhtar', 'Age': 25, 'Language': ['Drupal', 'PHP'], 'parents': {'mother': {'name': 'Heung min son', 'phone': 89546487}, 'father': {'name': 'Kane', 'phone': 4564823545}}, 'siblings': [{'name': 'Xamcs', 'phone': 78654325}, {'name': 'sinfbad', 'phone': 45648232}]}]

# 生成初始DataFrame
df = pd.DataFrame(data)

步骤2:处理siblings列提取所需数据

用apply函数遍历每个siblings列表,分别提取姓名和电话并按要求格式化:

# 提取所有兄弟姐妹姓名,组成列表
df['sibling_names'] = df['siblings'].apply(lambda x: [item['name'] for item in x])

# 提取所有兄弟姐妹电话,转成字符串后用逗号分隔
df['sibling_phones'] = df['siblings'].apply(lambda x: ', '.join(str(item['phone']) for item in x))

# 可选:删除原始的siblings列,让结果更整洁
df = df.drop('siblings', axis=1)

结果说明

运行上述代码后,你会得到新的列:

  • sibling_names:每个条目的所有兄弟姐妹姓名组成的列表,比如第一条就是['jamuna', 'Killana']
  • sibling_phones:每个条目的所有兄弟姐妹电话用逗号分隔的字符串,比如第一条就是'564851312, 1212121212'

为什么原来的代码不行?

你之前用s.str[0].values.tolist()只会取每个siblings列表的第一个元素,而apply可以遍历每个列表里的所有对象,从而获取全部数据。

内容的提问来源于stack exchange,提问作者zuestech

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:15:38