我想在我的Pyhton腳本中做一個非常簡單的檢查,其中有6000列但只有3行數據在多個數組中。爲什麼thing [:] [0]等於thing [0] [:]?
爲了得到我的腳本正在做什麼的一些概述,我想在腳本中的某些點添加一些檢查,這些檢查將我的數組的幾列打印到我的linux終端窗口並與手動計算進行比較以確保我不會在任何地方犯錯。
如果我打印:print(NH3flux[0][0])
或print(NH3flux[1][0])
我得到正確的數據。
如果我做了print(NH3flux[0][:])
讓我的整個第一行(或者,如果你喜歡列)
的問題:如果我做一個print(NH3flux[:][0])
我得到完全相同的結果爲print(NH3flux[0][:])
,因爲我以爲我明白這混淆了我Python中的數組?
如果我代替我:
與數字0
,1
或2
我得到正確的數據,3
崩潰的執行,由於某種原因:
標誌不起作用。
我什麼都不明白?
編輯: 請注意,數字可能是字符串形式,因爲它們從數據庫中讀取,因此尚未轉換。對象的格式有希望不是這裏的問題。
print(NH3flux[0][0]) returns 0.00000
print(NH3flux[1][0]) returns 0.00001
print(NH3flux[2][0]) returns 0.00013
print(NH3flux[3][0]) returns list index out of range as expected
print(NH3flux[0][:]) returns '0.00000', '0.00000', '0.00003', '0.00002'
...等
請a)添加您提供的每個'print'語句的輸出。 b)準確解釋你得到的結果與你認爲會得到的結果有什麼不同c)包括你使用'3'和':'時得到的錯誤: – scytale
這些是嵌套列表。它們不是以這種方式進行索引,而是NumPy的數組。如果NH3通量是這樣一個對象,那麼如果「NH3通量[0:]」是第一行(如果不是翻轉行和列),則「NH3通量[:,0]」將是第一列。 –
@vpJohan:請允許我提供一些標準建議:如果答案能解決您的問題,請點擊旁邊的大號複選標記(✓)並選擇性地對其進行投票表決(增加投票需要至少15聲望點)。 如果您發現其他答案有幫助,請投票給他們。接受和投票有助於未來的讀者。請參閱[相關幫助中心文章](http://stackoverflow.com/help/someone-answers)。如果您的問題尚未得到充分解答,請提供反饋。如果您認爲自己找到了最佳解決方案,請將其作爲答案和自我接受。 – mklement0