Python 基于条件的索引获取
从以下代码:Python 基于条件的索引获取,python,pandas,Python,Pandas,从以下代码: aps1.Status.head(10) Out[663]: 0 OK 1 OK 2 OK 3 OK 4 OK 5 OK 6 Fail 7 OK 8 Fail 9 OK 如何获取状态为Fail的索引?我试过: print (index for index,value in enumerate(aps1.Status) if value == "Fail"]) 但我有语法错误。谢谢与索引一起使用: L = aps1.
aps1.Status.head(10)
Out[663]:
0 OK
1 OK
2 OK
3 OK
4 OK
5 OK
6 Fail
7 OK
8 Fail
9 OK
如何获取状态为Fail的索引?我试过:
print (index for index,value in enumerate(aps1.Status) if value == "Fail"])
但我有语法错误。谢谢与索引一起使用
:
L = aps1.index[aps1.Status == 'Fail']
与索引一起使用
:
L = aps1.index[aps1.Status == 'Fail']
删除末尾的“]”
print (index for index,value in enumerate(aps1.Status) if value == "Fail"**]**)
删除末尾的“]”
print (index for index,value in enumerate(aps1.Status) if value == "Fail"**]**)
由于额外的原因,您将获得该错误]。尝试删除它由于额外的原因,您将收到该错误]。尝试将其删除在数据框上使用列表理解,并在状态列中使用if条件
status=['OK'
,'OK'
,'OK'
,'OK'
,'OK'
,'OK'
,'Fail'
,'OK'
,'Fail'
,'OK']
df=pd.DataFrame({'Status':status})
df.reset_index(inplace=True)
print([index for index,item in df.iterrows() if item['Status']=='Fail'])
输出
[6,8]使用列表理解,在数据框上使用带有if条件的iterrows作为状态列
status=['OK'
,'OK'
,'OK'
,'OK'
,'OK'
,'OK'
,'Fail'
,'OK'
,'Fail'
,'OK']
df=pd.DataFrame({'Status':status})
df.reset_index(inplace=True)
print([index for index,item in df.iterrows() if item['Status']=='Fail'])
输出
[6,8]一如既往地使用
aps1.index[aps1.Status.eq('Fail')]
使用aps1.index[aps1.Status.eq('Fail')]
进行救援!像往常一样去营救!