在Python中创建数据帧:列和索引的问题

2024-09-28 01:58:54 发布

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

我试图创建一个包含多个索引和一列的数据帧。如果我键入以下内容:

InitialPosition=pd.DataFrame( [1000000,1,1] ,index=['Cash'],columns=['a','b','c'] )

我得到一个错误:

^{pr2}$

如果我将数组更改为列,例如:

InitialPosition=pd.DataFrame( [[1000000],[1],[1]] ,index=['Cash'],columns=['a','b','c'] )

我的错误是:

AssertionError: 3 columns passed, passed data had 1 columns 

你知道为什么会这样吗?在

一种解决方案是:

InitialPosition=pd.DataFrame( [1000000,1,1] ,columns=['Cash'],index=['a','b','c'] ).T

但看起来不太优雅。在


Tags: columns数据dataframedataindex键入错误cash
1条回答
网友
1楼 · 发布于 2024-09-28 01:58:54

问题是,您将index指定为'Cash',它只有1个索引。 并且[1000000,1,1]正在传递3行数据。在

看看这个:

InitialPosition=pd.DataFrame( [1000000,1,1] ,columns=['Cash'],index=['a','b','c'] ).T

您将传递3行数据、1 x列和3个索引,这与数据帧的结构相匹配。在

但是,想想数据帧中的数组,比如xy坐标和columnsrows结构中的数组,你的数据框应该是这样的:

^{pr2}$

[[10000000, 1, 1]]翻译成like on rows[0]columns[0], columns[1], columns[2] = ...,列标签'a''b''c'和1 x索引'cash'。在

或者

InitialPosition=pd.DataFrame( [[1000000],[1],[1]] ,columns=['Cash'],index=['a','b','c'] ).T

其中,[[1000000], [1], [1]]翻译成rows[0], columns[0] = [1000000]rows[1], columns[0] = 1rows[2], columns[0] = 1,其中有1 x列'Cash',3个索引'a''b''c',然后在末尾进行转置。在

这两种方法都会得到这样的结果:

InitialPosition

            a  b  c
cash  1000000  1  1

我强烈建议你阅读这篇10 Minutes to pandas这篇文章解释得相当透彻,但也不难理解。在

相关问题 更多 >

    热门问题