我有一个包含大量行的数据框(df):
0 A B C D E
1 ax 92 47 32 89
2 av 12 41 26 87
3 bn 54 87 98 09
的字符串=' AV' 我需要用A = av找到df的索引 它需要返回2
我尝试使用df.iterrows()
,但是有大量行需要花费大量时间或崩溃
没有iterrows可以这样做吗?
答案 0 :(得分:2)
使用布尔过滤和.loc
。
从列2
'0'
的三种方法
In [377]: df.loc[df['A'] == 'av', '0']
Out[377]:
1 2
Name: 0, dtype: int64
In [378]: df.loc[df['A'] == 'av', '0'].item()
Out[378]: 2L
In [379]: df.loc[df['A'] == 'av', '0'].iloc[0]
Out[379]: 2
答案 1 :(得分:1)
index=df.loc[df['A'] == 'av', '0'].iloc[0]
此技术称为布尔Masking.index将具有值2 https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.loc.html 请参阅Pandas文档。熊猫有很好的记录!