python pandas series获取一行的索引号

时间:2016-01-22 14:39:49

标签: python pandas

我有一个看起来像这样的系列

2014  7   2014-07-01   -0.045417
      8   2014-08-01   -0.035876
      9   2014-09-02   -0.030971
      10  2014-10-01   -0.027471
      11  2014-11-03   -0.032968
      12  2014-12-01   -0.031110
2015  1   2015-01-02   -0.028906
      2   2015-02-02   -0.035563
      3   2015-03-02   -0.040338
      4   2015-04-01   -0.032770
      5   2015-05-01   -0.025762
      6   2015-06-01   -0.019746
      7   2015-07-01   -0.018541
      8   2015-08-03   -0.028101
      9   2015-09-01   -0.043237
      10  2015-10-01   -0.053565
      11  2015-11-02   -0.062630
      12  2015-12-01   -0.064618
2016  1   2016-01-04   -0.064852

我希望能够从日期中获取行的索引值。类似的东西:

myseries.loc(axis=0)[:,:,'2015-10-01'].并返回15

1 个答案:

答案 0 :(得分:2)

使用.get_loc并传递索引:

In [52]:
s.index.get_loc(s.loc[:,:,'2015-10-01'].index[0])

Out[52]:
15

你必须在这里得到特定的索引元组值,通过索引第一个索引值来返回元组:

In [54]:
s.loc[:,:,'2015-10-01'].index[0]

Out[54]:
(2015, 10, '2015-10-01')

如果你没有这样做,你可以得到所有这些:

In [55]:
s.loc[:,:,'2015-10-01'].index

Out[55]:
MultiIndex(levels=[[2014, 2015, 2016], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], ['2014-07-01', '2014-08-01', '2014-09-02', '2014-10-01', '2014-11-03', '2014-12-01', '2015-01-02', '2015-02-02', '2015-03-02', '2015-04-01', '2015-05-01', '2015-06-01', '2015-07-01', '2015-08-03', '2015-09-01', '2015-10-01', '2015-11-02', '2015-12-01', '2016-01-04']],
           labels=[[1], [9], [15]],
           names=['year', 'month', 'date'])

您无法转到.get_loc