熊猫查找匹配值的行号

dio*_*nes 4 python pandas

我可以找到与此匹配的行,但是如何获取 df 的行号?

y = df.loc [ df [ 'month' ] == df3 [ 'month' ] ]
Run Code Online (Sandbox Code Playgroud)

我需要 y 作为行数。

我可以获得索引值,但 df 的索引也是一个日期。

谢谢。

3no*_*vak 5

一种方法是重新索引,因为您希望索引是整数而不是日期。

y = df.loc[df['month'] == df3['month' ]].reset_index().index
Run Code Online (Sandbox Code Playgroud)


Gui*_*sch 4

如果您不想重置索引,您可以简单地添加带有行数的列:

import pandas as pd

df = pd.DataFrame({'month':[1,1,1,1,2,2,2]})
df.insert(0, 'row_num', range(0,len(df)))  # here you insert the row count
df3 = pd.DataFrame({'month':[2,2,2,1,2,2,2]})
y = df.loc [ df [ 'month' ] == df3 [ 'month' ] ]
Run Code Online (Sandbox Code Playgroud)

的内容df

>>> df
   row_num  month
0        0      1
1        1      1
2        2      1
3        3      1
4        4      2
5        5      2
6        6      2
Run Code Online (Sandbox Code Playgroud)

结果

>>> y['row_num']
3    3
4    4
5    5
6    6
Run Code Online (Sandbox Code Playgroud)