1、有如下df:
In[1]:
import pandas as pd
df = pd.DataFrame([[1, 'wahaha'], [2, 'olala']], index=[0, 1], columns=['col_a', 'col_b'])
df
Out[1]:
col_a col_b
0 1 wahaha
1 2 olala
想得到内容是“wahaha”的那行的索引:
思路1:直接根据内容找到对应的行,再取其索引
In[6]:df.query('col_b == "wahaha"')
Out[6]:
col_a col_b
0 1 wahaha
或者
In[18]:df[df['col_b'].isin(['olala'])]
Out[18]:
col_a col_b
1 2 olala
思路2:根据内容找到它处于第几行,再取索引
In [36]: list(df['col_b']).index('wahaha')
Out[36]: 0
In [37]: list(df['col_b']).index('olala')
Out[37]: 1
2、想得到值最大的那行的索引:
pd.Series.idxmax(axis) 有索引时返回索引,其中,axis=1返回列名,=0返回索引
pd.Series.values.argmax() 有索引时返回顺序数