Python在数据帧中的许多令人满意的行中查找一行的特定索引

Python在数据帧中的许多令人满意的行中查找一行的特定索引,python,dataframe,Python,Dataframe,我有一个以日期时间为索引的大数据框: df = vol element 2019-10-20 14:24:22 99499 8157_S1 2019-10-20 15:04:23 99500 8157_S2 2019-10-20 15:47:04 99501 8157_S1 2019-10-20 16:27:20 99502 8157_S2 2019-1

我有一个以日期时间为索引的大数据框:

df = 
                           vol     element
2019-10-20 14:24:22       99499     8157_S1
2019-10-20 15:04:23       99500     8157_S2
2019-10-20 15:47:04       99501     8157_S1
2019-10-20 16:27:20       99502     8157_S2
2019-10-21 07:44:59       99503     8157_S1
2019-10-21 08:24:49       99504     8157_S2
2019-10-21 09:04:58       99505     8157_S2
我想找到特定
元素在特定日期的
vol
的日期时间索引和值

item = '8157_S2'  ### element I am searching for
day  = '2019-10-21' ### date I am searching for
ses  = 1  #### which session of the day I am searching for
vol  =   df['vol'][df['element'] == item].loc[day].iloc[ses]     
dt_idx = df['vol'][df['element'] == item].loc[day].iloc[ses].index 
目前产出:

print(vol)    >> 99505
print(dt_idx) >> AttributeError: 'list' object has no attribute 'loc' 
预期产出:

print(vol)    >> 99505    
print(dt_idx) >> 2019-10-21 09:04:58 

在许多令人满意的行中查找特定行的索引时,我的代码中会有什么错误?

请注意,您发布的数据帧并不包含您正在搜索的所有元素。也就是说,这应该是可行的

item='8157_S2'
日期='2019-10-21'
ses=1
所选=df[(df.element==项目)].loc[天]
vol=selected.iloc[ses][“vol”]
dt_idx=选定的索引值[ses]
打印(卷,dt_idx)

也许您应该考虑将索引转换为列,这样会更容易使用

我得到了
keyrerror:'2019-10-21'
,这是索引上的真实数据吗?@azro现在我更正了我的df。数据是正确的。似乎部分匹配需要一点时间more@azro我的代码可能有什么错误?对不起,但我真的不知道:/但是我的数据框中没有名为
[ses]
的列?@contain我已经更新了我的awnser,告诉我它是否对你有用谢谢你更新答案。同样地,
[day]
列不存在。那么day在哪里呢。。。它是一个索引吗?是的,它在有日期和时间的索引中