gpt4 book ai didi

python - 具有多个键值到数据框的字典

转载 作者:太空宇宙 更新时间:2023-11-04 09:34:14 25 4
gpt4 key购买 nike

字典看起来像:

{'iphone': [12, 21666], 'a1': [6, 5859], 'J5': [15, 13862]}

我想使用这本字典创建如下所示的数据框:

    name   n1   n2
0 iphone 12 21666
1 a1 6 5859
2 J5 15 13862

最佳答案

通过 DataFrame 构造函数使用列表理解:

d = {'iphone': [12, 21666], 'a1': [6, 5859], 'J5': [15, 13862]}

df = pd.DataFrame([([k] + v) for k, v in d.items()], columns=['name','n1','n2'])
#alternative
#df = pd.DataFrame([(k, *v) for k, v in d.items()], columns=['name','n1','n2'])
print (df)
name n1 n2
0 iphone 12 21666
1 a1 6 5859
2 J5 15 13862

所有长度列表的通用解决方案,不仅是2:

df = pd.DataFrame([(k, *v) for k, v in d.items()])
#python 3.6+ with f-strings
df.columns = ['name'] + [f'n{x}' for x in df.columns[1:]]
#python bellow
#df.columns = ['name'] + ['n{}'.format(x) for x in df.columns[1:]]
print (df)
name n1 n2
0 iphone 12 21666
1 a1 6 5859
2 J5 15 13862

或者:

df = (pd.DataFrame.from_dict(d, orient='index')
.rename(columns=lambda x: x+1)
.add_prefix('n')
.rename_axis('name')
.reset_index())
print (df)
name n1 n2
0 iphone 12 21666
1 a1 6 5859
2 J5 15 13862

关于python - 具有多个键值到数据框的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54416620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com