python - 如果 pandas 中已知列(或索引),如何返回值的索引(或列)标签

标签 python python-3.x pandas

如果行和值都已知,如何返回列的标签?

我有一个 pandas 数据框,其中行名为“A”、“B”、“C”,列名为“X”、“Y”、“Z”。知道行中有一个值(例如 A),我想返回该列。查看示例,当我知道“A”行中的值为“1”时,我希望返回“X”。如何实现这一目标?

data=[[1,2,3],[4,5,6],[7,8,9]]
d=pd.DataFrame(data, ["A", "B", "C"], ["X", "Y", "Z"])

   X  Y  Z
A  1  2  3
B  4  5  6
C  7  8  9

最佳答案

如果您知道 1A 中,请使用 loc 并获取结果索引

s = df.loc['A'].eq(1)
s[s].index

返回

Index(['X'], dtype='object')

如果您知道您的行中只有一个值为 1 的单元格,则使用 .item()

>>> s[s].index.item()
'X'

关于python - 如果 pandas 中已知列(或索引),如何返回值的索引(或列)标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56101098/

相关文章:

python - 对 DRF 序列化程序上的 ManyToMany 和 OneToMany 字段使用自定义模型管理器

python - 文件未找到错误: Could not find module 'libvlc.dll'

python - 从 Pandas 聚合 ("FutureWarning: using a dict with renaming is deprecated"重命名结果列)

python - 如何按字符串列表过滤 Pandas 列?

Python:计算树的节点数

python - 检查特定的浮点值是否在 Python/numpy 的列表/数组中

c++ - C++ 的 NumPy 样式数组?

python - 列出给定类的所有内部类 - Python

python - Groupby 和 any() |全部()

python - 在 PyInstaller 的 SPEC 文件中使用变量