我想通過Python中的二維數組迭代,並將數組中的項與int進行比較,但是每當我嘗試這樣做時,都面臨着大量的各種錯誤。我正在使用numpy和熊貓。遍歷Python中的二維數組?
filename = "C:/Users/User/My Documents/JoeTest.csv"
datas = pandas.read_csv(filename)
dataset = datas.values
於是,我試圖去通過數據,抓住它的某些元素:
我的數據集如下創建。
def model_building(data):
global blackKings
flag = 0;
blackKings.append(data[0][1])
for i in data:
if data[i][39] == 1:
if data[i][40] == 1:
values.append(1)
else:
values.append(-1)
else:
if data[i][40] == 1:
values.append(-1)
else:
values.append(1)
for j in blackKings:
if blackKings[j] != data[i][1]:
flag = 1
if flag == 1:
blackKings.append(data[i][1])
flag = 0;
然而,這樣做留給我一個ValueError:具有多於一個元素的數組的真值是不明確的。使用a.any()或a.all()。我不想使用其中的任何一個,因爲我正在比較該特定實例的實際值。有沒有解決這個問題的另一種方法?
您可以通過發佈確切的錯誤和完整的堆棧跟蹤來幫助我們。 –
如果您創建[Minimal,Complete,and Verifiable](http://stackoverflow.com/help/mcve)示例,它可以讓我們更容易地爲您提供幫助。 –
這個錯誤通常出現在'if'語句中。你應該檢查''if data [i] [39] == 1:'語句。我的猜測是'data [i] [39]'返回一個索引值對。打印出來並檢查。另外總是嘗試使用'data.loc [39,i]'代替。 – salomonvh