Python -向量化操作来过滤http响应json



我有一个列表,基本上包括在HTTP响应(json)中接收的数据对象的某些键

让列表类似于

['uid', 'status', 'profile.name', 'profile.login', 'profile.mobile']

我正在解析一个嵌套json类似-

{
"uid":"a1234",
"status":active,
"native":false,
"profile":{
"name": "xyz",
"alias": "z",
"login": "abc",
}
}

使用pandas. json_normalize()对上面的json将给我一个类似

的数据框架
uid     status     native     profile.name     profile.alias     profile.login

0    a1234   active     false      xyz              z                 abc 

现在我如何使用上面的列表并创建一个新的列表或数据框架(要么是ok的),以根据第一个列表保持响应值,同时处理http响应json中不存在的任何值为NA或"。期望得到一个列表或数据框架,如-

['a1234', 'active', 'xyz', 'abc', '']

uid     status     profile.name     profile.login    profile.mobile

0    a1234   active     xyz              abc              "" 

目前我正在循环第一个列表来实现这一点,但它比较慢,我可以使用向量化操作来加快这个过程吗?

iuc,您可以像这样使用reindex

print(pd.json_normalize(js) # js is my json
.reindex(columns=['uid', 'status', 'profile.name', 
'profile.login', 'profile.mobile'])
.fillna(''))
#      uid  status profile.name profile.login profile.mobile
# 0  a1234  active          xyz           abc               

最新更新