来自多索引的python pandas系列loc值

标签 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('2015-10-01') 并返回 -0.053565

索引是 (2016, 1, 2016-01-04) 形式的元组

最佳答案

你可以这样做:

In [32]:
df.loc(axis=0)[:,:,'2015-10-01']

Out[32]:
                          value
year month date                
2015 10    2015-10-01 -0.053565

你也可以通过 slice对于每个级别:

In [39]:
df.loc[(slice(None),slice(None),'2015-10-01'),]

Out[39]:
                          value
year month date                
2015 10    2015-10-01 -0.053565|

或者只通过前 2 个索引级别:

In [40]:
df.loc[2015,10]

Out[40]:
               value
date                
2015-10-01 -0.053565

关于来自多索引的python pandas系列loc值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34948964/

相关文章:

Python:将函数映射到递归迭代

python xlwt : preserve all styles but one

python - 计算 Pandas 时间序列上的每日事件

python - 如何判断 csv 文件中经过的小时数?

python - 减去 pandas 数据框,同时保留一些列完好无损

c# - 如何分析程序内部的.exe参数?

python - 无反向匹配在/

python - 如何创建一个数据框,其中日期范围作为列中的值?

python-2.7 - 使用 python bokeh.palettes 的多线图

python - 从数据帧的列切片中获取 numpy 值的最快方法是什么