【发布时间】:2020-04-01 19:36:06
【问题描述】:
我可以从 dict 创建一个 pandas 数据框,如下所示:
d = {'Key':['abc','def','xyz'], 'Value':[1,2,3]}
df = pd.DataFrame(d)
df.set_index('Key', inplace=True)
还可以先创建一个这样的系列:
d = {'abc': 1, 'def': 2, 'xyz': 3}
a = pd.Series(d, name='Value')
df = pd.DataFrame(a)
但不是直接这样:
d = {'abc': 1, 'def': 2, 'xyz': 3}
df = pd.DataFrame(d)
我知道from_dict 方法,这也给出了预期的结果:
d = {'abc': 1, 'def': 2, 'xyz': 3}
pd.DataFrame.from_dict(d, orient='index')
但我不明白为什么:
(1) 当从系列或列表作品创建时,需要一个单独的方法从字典创建数据框,没有问题;
(2) 如何/为什么从 dict/list 列表创建数据框有效,但不能直接从 dict 创建。
找到了几个提供解决方案的 SE 答案,但寻找 “为什么”,因为这种行为似乎不一致。任何人都可以阐明我在这里可能缺少的东西。
【问题讨论】:
标签: python python-3.x pandas python-3.7