python - 提取数据帧列名和行索引中的特定值

标签 python arrays pandas dataframe

我有一个形状为 (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/

相关文章:

python - 保存keras模型以节省空间的最佳方式

python - 计算时间差(以分钟为单位)

c++ - 在 C++ 中迭代对象数组

arrays - 查询嵌套在 JSON 数组深处的数据的最有效方法?

java - 用 2 个字符串的字符填充二维数组

python - 向创建的数据框添加一个数字

python - 基于条件的 Pandas 数据框计算

python - 如何将 PostgreSQL 查询结果传递给 Airflow 中的变量? (Postgres Operator 或 Postgres Hook)

python - AttributeError: 'str' 对象没有属性 'search_nodes' - Python

java - 我如何在 jython 脚本中随机运行函数?