Python 根据条件获取行ID

Python 根据条件获取行ID,python,pandas,Python,Pandas,我有以下数据帧: Date best a b c d 1990-01-01 a 5 4 7 2 1991-01-02 c 10 1 2 0 1992-01-03 d 2 1 4 12 1993-01-04 a 5 8 11 6 我希望获得行ID,其中df['Date'=='1992-01-03'] 预期回报率为2

我有以下数据帧:

Date          best    a    b    c    d
1990-01-01    a       5    4    7    2
1991-01-02    c       10   1    2    0
1992-01-03    d       2    1    4    12
1993-01-04    a       5    8    11   6
我希望获得行ID,其中df['Date'=='1992-01-03']

预期回报率为2


有什么想法吗?

要做到这一点,您需要访问数据帧的索引并获取其id。按照对对象的解释并假设对象名为df,您可以执行以下操作:

ids=df.index[df['Date']=='1992-01-03'].tolist 打印ID [2]
如果Date已经是数据帧的索引,您只需键入:df=df.reset_index即可更改为数字索引

要做到这一点,您需要访问数据帧的索引并获取其id。按照对对象的说明并假设对象名为df,您可以执行以下操作:

ids=df.index[df['Date']=='1992-01-03'].tolist 打印ID [2] 如果Date已经是数据帧的索引,您只需键入:df=df.reset_index即可更改为数字索引

您也可以使用np.where:

您也可以使用np.where:


谢谢你的忠告。是否可以返回整数数据类型中的值?这样做可以简单地访问列表中的第一个元素,即IDS(0)或使用如.ILoc(0)所描述的,但是您应该考虑未找到的情况。在任何情况下,都有可能获得不止一个巧合,所以您可能需要实现某种逻辑来选择其中一个。谢谢您的建议。是否可以返回整数数据类型中的值?这样做可以简单地访问列表中的第一个元素,即IDS(0)或使用如.ILoc(0)所描述的,但是您应该考虑未找到的情况。在任何情况下,都有可能获得不止一个巧合,所以可能需要实现某种逻辑来选择其中一个。
np.where(df.Date=='1992-01-03')