【问题标题】:How to fix: "All the input array dimensions except for the concatenation axis must match exactly" python如何修复:“除了连接轴之外的所有输入数组维度必须完全匹配”python
【发布时间】:2020-02-03 20:00:17
【问题描述】:

我将循环结果保存在一个数组中,但出现错误:

除连接轴外的所有输入数组维度必须完全匹配

代码是:

r = 24
sp = np.zeros(r)
p = np.zeros(r)
for t in range(r):
    sp[t], p[t] = scipy.stats.spearmanr((df1['Pasto_1'][t:]), (df1['HumedadPasto_1'][:-t]))

我希望输出保存在sp 中。如果你知道我做错了什么,非常感谢!

【问题讨论】:

  • 你没有告诉我们任何关于df1的信息。从名字上我怀疑它是一个pandas 数据框。而且您还没有向我们展示完整的错误。该错误涉及concatenation,它必须在spearmanr 函数内部发生。

标签: python pandas numpy scipy correlation


【解决方案1】:

第一次迭代最有可能出现问题:当 t 为 0 时,df1['Pasto_1'][t:] 是完整系列,但 df1['HumedadPasto_1'][:-t] 是空的。您可以简单地将 0 视为特例并做好:

for t in range(r):
    s1 = df1['Pasto_1'][t:]
    s2 = df1['HumedadPasto_1'][:-t] if t > 0 else df1['HumedadPasto_1']
    sp[t], p[t] = scipy.stats.spearmanr(s1, s2)

【讨论】:

    猜你喜欢
    • 2018-07-08
    • 2017-11-26
    • 2021-05-09
    • 2020-02-19
    • 2017-10-20
    • 2020-07-25
    • 2019-05-16
    • 2020-08-02
    • 1970-01-01
    相关资源
    最近更新 更多