![](/img/trans.png)
[英]Is there a Pythonic way to transpose 1 row/column of a numpy matrix?
[英]Is there a way to reference the column/row number of a numpy matrix to perform operations? (of if not, a dataframe?)
我想將 function 應用於 numpy 矩陣的所有元素/單元格。 它會很大(100k*100k),所以我想快速完成。 我可以用 forloop 填充它,但估計需要 43 天。
我基本上想使用每個元素的行號和列號來執行計算。 最終的應用程序有比這更多的移動部分,但為了說明:下面的條目“X”是 2,因為它是第 1 行和第 1 列,(1+1)。 最后,我將使用返回的行數和列數來搜索另一個 dataframe 的值,並執行計算,但是一旦我理解了以下內容,這應該很容易。
如果使用 numpy 矩陣無法做到這一點,我可以使用 df 執行此操作,然后將其轉換為 numpy 數組。 但我認為這會慢一些。
所以在下面,我希望每個“單元格”通過引用它的行和列來計算一些東西#
rows c1 c2 c3
0 0 0 0
1 0 X 0
2 0 0 0
非常感謝! X
后編輯:
所以我有一個像這樣的 numpy 數組/矩陣。 零只是占位符,我用“X”指代哪個單元格的選擇是任意的。
rows c1 c2 c3
0 0 0 0
1 0 X 0
2 0 0 0
然后我有這個dataframe如下
attribute 1
0 a
1 b
2 c
3 d
因此,例如,我想在每個“單元格”中放置一個操作,從而根據其自己的 position 提供的 arguments 查找 dataframe。 例如,這個 X 有 position 第 1 行第 1 列,所以它的 arguments 是 [1,1],所以它在 Z6A8064B5DF479455500553C47C55057'Dbb' 中查找索引兩次並返回 concatenation 屬性。 最主要的是“單元格”中的公式引用了它自己的position。
例如,在下面的數組中,標記為“y”的 position 將返回“bc”。
rows c1 c2 c3
0 0 0 0
1 0 X Y
2 0 0 0
我是新手,希望我解釋清楚
所以我要試一試,說你正在尋找這樣的東西:
x = 5 # or whatever n by n size you want for your matrix
arr = np.arange(0, x, 1)
vec = arr[:, np.newaxis]
vec + vec.transpose()
這將產生以下矩陣:
array([0, 1, 2, 3, 4],
[1, 2, 3, 4, 5],
[2, 3, 4, 5, 6],
[3, 4, 5, 6, 7],
[4, 5, 6, 7, 8]])
這是您要查找的i+j
索引總和。 如果您想從 1 開始,那么您只需更改np.arange
中的0
即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.