0

我有我正在使用的用例 -

  1. 方法 1:Pandas json_normalize 将字典列表转换为数据框(每个字典循环。),然后选择所需的列。
  2. 方法 2:可以完成的另一种方法是创建所选列/键的字典(通过循环遍历每个字典的主列表的子集),然后应用 json_normalize。

我试图了解在可扩展性方面哪种方法是正确的。提前致谢。

示例来自 -文档

data = [{'state': 'Florida',
...          'shortname': 'FL',
...          'info': {
...               'governor': 'Rick Scott'
...          },
...          'counties': [{'name': 'Dade', 'population': 12345},
...                      {'name': 'Broward', 'population': 40000},
...                      {'name': 'Palm Beach', 'population': 60000}]},
...         {'state': 'Ohio',
...          'shortname': 'OH',
...          'info': {
...               'governor': 'John Kasich'
...          },
...          'counties': [{'name': 'Summit', 'population': 1234},
...                       {'name': 'Cuyahoga', 'population': 1337}]}]

%timeit pd.json_normalize(data)[['state','shortname']]

每个循环 777 µs ± 24.7 µs(7 次运行的平均值 ± 标准偏差,每次 1000 个循环)


data_list =[]
for d in data:
    data_dict = {}
    data_dict['state'] = d.get('state')
    data_dict['shortname'] = d.get('shortname')
    data_list.append(data_dict)
print (pd.json_normalize(data_list))     

笔记:

  • 从 API 检索数据
  • DataFrame 所需的列接近 40
4

0 回答 0