[英]Python nested dictionary to pandas df
我正在尝试将我的嵌套字典转换为 pandas DataFrame。 我的字典看起来像:
my_dict = {'google.com' : {'111,\n222,\n333,\n444' : 'google.com/111,\ngoogle.com/222,\ngoogle.com/333,\ngoogle.com/444'},
'bing.com' : {'111,\n222,\nE321A,\n123x' : 'bing.com/111,\nbing.com/222,\nbing.com/E321A,\nbing.com/123x'}}
我尝试使用:
pd.DataFrame.from_dict()
但是没有得到想要的 output。
尝试这个:
parsed_dict = {
k: dict(zip(list(v.keys())[0].split(",\n"), list(v.values())[0].split(",\n")))
for k, v in my_dict.items()
}
df = pd.concat(
{k: pd.DataFrame.from_dict(v, "index") for k, v in parsed_dict.items()}, axis=0
)
df = df.reset_index()
df.columns = names=['Domain', 'ID','Link']
df.set_index(['Domain', 'ID'], inplace=True)
parsed_dict
{'google.com': {'111': 'google.com/111', '222': 'google.com/222', '333': 'google.com/333', '444': 'google.com/444'}, 'bing.com': {'111': 'bing.com/111', '222': 'bing.com/222', 'E321A': 'bing.com/E321A', '123x': 'bing.com/123x'}}
df
Link
Domain ID
google.com 111 google.com/111
222 google.com/222
333 google.com/333
444 google.com/444
bing.com 111 bing.com/111
222 bing.com/222
E321A bing.com/E321A
123x bing.com/123x
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.