关于如何创建Pandas DataFrame的困惑

问题描述 投票:1回答:1

我对如何在Python中创建Pandas数据框感到困惑:

  • 来自字典

  • 来自列表列表

为什么不允许这样做:

import pandas as pd 

dict1 = {'hugo': 1, 'francis': 2}

pd.DataFrame(dict1)

但是,这是允许的:

import pandas as pd 

dict2 = {'hugo': [1], 'francis': [2]}

pd.DataFrame(dict2)

而且,这是如何工作的?为什么数据框在其单元格中包含一个列表?

import pandas as pd 

ListofDicts = [{'A' : [1,2,3], 'B' : [4,5,6]}]

pd.DataFrame(ListofDicts)

然而,与上述不同,我们在任何单元格中都没有任何列表?

import pandas as pd 

ListofDicts = {'A' : [1,2,3], 'B' : [4,5,6]}

pd.DataFrame(ListofDicts)
python pandas dataframe
1个回答
3
投票

对于您的第一个问题,这有效

dict1 = {'hugo': 1, 'francis': 2}
pd.DataFrame(dict1, index = range(0,1,1))

有了列表,您已经在告诉列中的项目可能如何。如果您不将输入作为列表提供,则您已将要使这些项目位于的索引告诉数据框。尝试将中间1更改为100,您将获得100行,其中“ Hugo”和“ Francis”分别带有1和2。您可以执行index = range(0,20,2),您会看到索引为0,2,4,6,8 ...

类似地,当您传递字典时,它会自动unpacked分成行和列。使用列表,您可以告诉每个项目的内容。尝试此操作,您将获得20行相同的数据。

ListofDicts = [{'A' : [1,2,3], 'B' : [4,5,6]}]
pd.DataFrame(ListofDicts, index = range(0,20,1))
© www.soinside.com 2019 - 2024. All rights reserved.