python – Pandas ValueError返回的形状与数据帧形状不匹配?

我的理解是pd.DataFrame().shapereturns(n_rows,n_columns).
但是,当构造数据帧并且索引与数据形状不匹配时,pandas会将形状为(n_columns,n_rows)的ValueError引发.

例:

df_2 = pd.DataFrame(np.random.randn(10,2),index = range(9))

ValueError: Shape of passed values is (2,10),indices imply (2,9)

为什么不会打印ValueError:

传递值的形状是(10,指数暗示(9,2)

熊猫版:’0.17.1′

解决方法

当pandas在这里说“indices”时它意味着索引和列(它们都是Index类型).

In [11]: df = pd.DataFrame(np.random.randn(3,2))

In [12]: df.index
Out[12]: Int64Index([0,1,2],dtype='int64')

In [13]: df.columns
Out[13]: Int64Index([0,1],dtype='int64')

你传递的东西长度为9 .index索引,长度为2 .columns索引,因此错误信息……
也就是说:您的代码相当于:

In [21]: df = pd.DataFrame(np.random.randn(10,index=np.arange(9),columns=np.arange(2))
ValueError: Shape of passed values is (2,9)

当你想要的是:

df = pd.DataFrame(np.random.randn(10,index=np.arange(10),colummns=np.arange(2))
# equivalently
df = pd.DataFrame(np.random.randn(10,index=np.arange(10))
df = pd.DataFrame(np.random.randn(10,2))

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...