Python “for” 问题 - 只能使用 MultiIndex 进行元组索引

标签 python arrays pandas

我想采用数组 C2,大小为 N,1,并创建数组 B,大小为 N-1,1。

B[0] = C2[1]

B[1] = C2[2]

等等。我的代码是:

import numpy as np
import pandas as pd

fields = "B:D"
data = pd.read_excel(r'C:\Users\file.xlsx', "Sheet2", usecols=fields)
N = 2

# Covariance calculation

C1 = data.cov() C2 = data.var()

B = np.zeros(shape=(N,1))

for i in B:
    B[i,1] = C2[i+1,1]

但错误是:

ValueError: Can only tuple-index with a MultiIndex

我知道这是一个简单的错误,但找不到哪里:S(新的 python 用户)

最佳答案

首先,您确定需要使用 numpy 数组吗?这似乎是 python 列表的工作。

接下来,使用 for i in B: 是什么意思?我是什么类型?

在这种情况下,迭代 B 会将 i 设置为 [0.],现在您可以看到下一行将在替换

    B[[0.],i] = C2[[0.]+1,1]

此外,对 pd.var() 的调用返回一维序列,因此第二个索引没有执行任何操作。

我认为你想像这样迭代 N

for i in range(N):
    B[i,1] = C2[i+1]

关于Python “for” 问题 - 只能使用 MultiIndex 进行元组索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59290016/

相关文章:

C++:追加到前面,添加到后面的int数组

c# - Linq 包含枚举数组

python - 如何更正此正则表达式和函数以验证 pandas 列值模式的正确性?

python - 如何复制不是从数组中随机采样的值?

javascript - 如何在 React 应用程序中使用 Fetch 向 Flask API 发送 POST 请求

javascript - 数组新方法

python-3.x - 创建一个新列,在同一行上使用最少的其他列

python - 连接 DataFrame,但仅保留一列

python - 如何根据列表中的元素从 Python 字典中删除元素?

python - 如何将 URL 重定向到特定 URL Django Regex