关于如何创建数据帧的困惑

2024-06-10 16:37:29 发布

您现在位置:Python中文网/ 问答频道 /正文

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

  • 来自字典

  • 从列表列表

为什么不允许这样做:

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)

Tags: 数据importdataframepandas列表字典aspd
1条回答
网友
1楼 · 发布于 2024-06-10 16:37:29

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

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

有了一个列表,您就可以知道列下的项目有多大了。如果不将输入作为列表提供,则必须告诉数据帧这些项所在的索引。尝试将中间的1改为100,您将得到100行,其中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))

相关问题 更多 >