当前位置: 首页 > 知识库问答 >
问题:

Pandas concat函数给出ValueError:传递值的形状为{passed},索引暗示{implied}

彭涵衍
2023-03-14
result = df1.append(df2)
finalDf = pd.concat([principal_Df, result[['label']]], axis=1)

print(principal_Df.shape) //gives (12390, 5)
print(result.shape) // gives (12390, 9)

concat线给出

raise VALUERROR(f“传递值的形状为{传递},索引暗示{隐含}”)VALUERROR:传递值的形状为(18585,6),索引暗示(12390,6)

我不明白为什么上面写着18585。还有其他连接方法吗?请帮忙。

编辑:我想我找到了问题所在。

打印结果给了我以下信息

      label
0       1.0
1       1.0
2       1.0
3       1.0
4       1.0
     ...
6190    0.0
6191    0.0
6192    0.0
6193    0.0
6194    0.0
[12390 rows x 1 columns]

印刷原理图

      principal component 1  ...  principal component 5
0                  -3.815308  ...              -0.921742
1                  -0.192024  ...              -0.449291
2                  -1.755755  ...               0.603834
3                  -0.663780  ...               0.711707
4                   1.288255  ...               1.115953
                      ...  ...                    ...
12385               0.819819  ...               0.534367
12386               1.343206  ...               0.153296
12387               2.327933  ...              -1.012771
12388              -0.180687  ...              -0.048978
12389              -0.240281  ...              -0.042431
[12390 rows x 5 columns]

结果Df最初是通过附加两个Df获得的

result = df1.append(df2)

行号不是从0到12390的延续,而是从0到6194,并在0到6194处重新启动。这可能是问题所在吗?如何获取要在df.append上继续的结果行索引?

共有1个答案

诸葛文博
2023-03-14

我猜到了。我必须执行result=df1.append(df2,ignore_index=True),然后它将继续索引。问题解决了。

 类似资料:
  • 我正在登录各种网络设备,并尝试查看输出。下面是我正在运行的脚本,它工作得非常好。当我试图确定po1、allin1、sta1、saa1、stn1的产量时,我面临着这个问题。我已经给出了下面所有变量的输出。po1将是这里的源,如果任何索引在其他变量中不可用,则需要显示“NAn”。如果你对理解这个问题有异议,请告诉我。 下面是我得到的错误。当我把轴设为1时,我得到了这个错误。 po1的产量: allin

  • 我有两个数据帧,有84行,显然是相同的长度,但是当我想将它们合并到1 df(按列合并-将名称、边和偏移量合并到纬度和经度的右侧)时,我得到了这个错误,。 发生了什么事? 这是我的代码行

  • 我以前在python中使用pyodbc,但现在我已经在一台新机器上安装了它(win 8 64位、python 2.7 64位、PythonXY和Spyder)。 我不知道为什么行为会改变。也许是我的Pandas版本,或者是pyodbc,但是更新是有问题的。我试图更新一些模块,但它搞砸了一切,我使用的任何方法(二进制文件--用于正确的机器/安装--PIP安装、easy-install,任何东西!等等

  • 预测类的输出 y_的输出为真 我想得到这个代码的索引,并得到这个值错误。 错误痕迹 请告诉我哪里出了问题。

  • 我正在尝试合并一个(熊猫14.1)数据帧和一个系列。序列应该形成一个新列,带有一些NAs(因为序列的索引值是数据帧索引值的子集)。 这适用于玩具示例,但不适用于我的数据(详见下文)。 例子: 数据的情况(见下文)似乎基本相同——将一个系列与一个DatetimeIndex连接起来,该索引的值是数据帧的子集。但是它在标题中给出了ValueError(等等1 = (5, 286)等等2 = (5, 27

  • 考虑这个简单的程序: 当我写的时候,我希望得到: 13 42 13 42 13 42 但是我得到的是: 13 42 0 42 0 42 当然,问题在于通过引用来吸收最后2个参数。因此,如果它们中的任何一个碰巧在正在操作的范围内,则结果可能是意外的。我可以通过添加一个临时变量来解决这个问题: 我知道C 11为我们提供了各种类型的工具,我是否可以简单地将这个值强制为非引用类型并内联传递,而不创建临时类