我有一个形状为 (5, 7) 的数据框。列索引和行索引分别命名为0~6和0~4。该数据框(矩阵)仅由 5、7、8 和 9 等四个值组成。
但是有 6 七值 6 八个值 7 九个值 和16个五值。
任何人都可以建议一个可以提取数字七 (7)、列和行值的代码吗?
例如, 第一个七 (2, 1)-->(列名,行索引) 第二个七 (2, 2)
然后这样做八九等。
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)
最佳答案
使用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)]
关于python - 提取数据帧列名和行索引中的特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70394775/