Pandas找到匹配值的行号

时间:2018-02-08 03:04:51

标签: python pandas

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

y = df.loc [ df [ 'month' ] == df3 [ 'month' ] ]

我需要y作为行数。

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

感谢。

2 个答案:

答案 0 :(得分:2)

如果您不想重置索引,您只需添加一个包含行数的列:

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' ] ]

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

结果

>>> y['row_num']
3    3
4    4
5    5
6    6

答案 1 :(得分:1)

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

y = df.loc[df['month'] == df3['month' ]].reset_index().index