我有一個形狀為 (5, 7) 的資料框。列和行索引分別命名為 0~6 和 0~4。此資料框(矩陣)僅包含四個值,例如 5、7、8 和 9。
然而,有 6 個七值、6 個八值、7 個九值和 16 個五值。
誰能建議一個可以提取數字七(7),列和行值的代碼?
例如,第一個七 (2, 1)-->(列名,行索引) 第二個七 (2, 2)
并為 8 和 9 等這樣做。
import numpy as np
import pandas as pd
arr = np.array([[5,7,7,8,8,9,5],
[5,5,8,9,8,5,7],
[5,5,7,9,9,5,5],
[5,5,5,9,8,7,5],
[5,9,9,8,7,5,5]])
df = pd.DataFrame(arr)
uj5u.com熱心網友回復:
利用 np.where
np.where(arr==7)
Out[64]:
(array([0, 0, 1, 2, 3, 4], dtype=int64),
array([1, 2, 6, 2, 5, 4], dtype=int64))
更改為您的格式 zip
a = np.where(arr==7)
list(zip(a[0],a[1]))
Out[69]: [(0, 1), (0, 2), (1, 6), (2, 2), (3, 5), (4, 4)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/383777.html
