如何从字典的列表的字典创建数据框架



我有json类型data

{'expanded': [{'url': 'ab', 'title': 'bc'}, {'url': 'gh', 'title': 'tr, }, {'url': 'as', 'title': 'Sy'}, {'url': 'jk', 'title': 'kl'}]}
{'inline': [{'url': 'hj', 'title': 'fdr'}, {'url': 'gh', 'title': 'lp'}, {'url': 'yr', 'title': 'ew'}]}
{'inline': [{'url': 'ty', 'title': 'JEE .'}, {'url': 'ht', 'title': 'JEE .'}, {'url': 'lt', 'title': 'bus'}]}

我有这类数据我想创建像

这样的数据框架
type   url title

1 expendgh sy

2展开为kl

3 inline hj fdr

对字典列表使用嵌套列表和字典推导式,然后传递给DataFrame:

L = [{'expanded': [{'url': 'ab', 'title': 'bc'}, {'url': 'gh', 'title': 'tr' }, 
{'url': 'as', 'title': 'Sy'}, {'url': 'jk', 'title': 'kl'}]},
{'inline': [{'url': 'hj', 'title': 'fdr'}, {'url': 'gh', 'title': 'lp'},
{'url': 'yr', 'title': 'ew'}]},
{'inline': [{'url': 'ty', 'title': 'JEE .'}, 
{'url': 'ht', 'title': 'JEE .'}, {'url': 'lt', 'title': 'bus'}]}]
df = pd.DataFrame([{'type': k, **y} for x in L for k, v in x.items() for y in v])
print (df)

type url  title
0  expanded  ab     bc
1  expanded  gh     tr
2  expanded  as     Sy
3  expanded  jk     kl
4    inline  hj    fdr
5    inline  gh     lp
6    inline  yr     ew
7    inline  ty  JEE .
8    inline  ht  JEE .
9    inline  lt    bus

最新更新