我有一个 DataFrame,其中的列是按月的 PeriodIndex,如下所示:
df = pd.DataFrame(np.random.randn(3,4), index = np.arange(3), columns = pd.period_range('2015-01', freq = 'M', periods = 4))
2015-01 2015-02 2015-03 2015-04
0 -1.459943 -1.572013 2.977714 -0.067696
1 -1.545259 -0.570757 0.133756 -1.231192
2 0.498197 -0.555625 0.174545 0.371475
Run Code Online (Sandbox Code Playgroud)
我可以选择列的子集,如下所示:
testdf[[pd.Period('2015-01'),pd.Period('2015-03')]]
2015-01 2015-03
0 -1.459943 2.977714
1 -1.545259 0.133756
2 0.498197 0.174545
Run Code Online (Sandbox Code Playgroud)
但是,当谈到切片以获取例如从“2015-01”到“2015-03”的所有月份时,我对所需的语法感到困惑。我已经尝试了各种迭代,但没有运气。
例如:
df[pd.Period('2015-01'):pd.Period('2015-03')]
df['2015-01':'2015-03']
Run Code Online (Sandbox Code Playgroud)
所有这些都不起作用。
我怎样才能切片这个 PeriodIndex?
使用.ix通过一个片用于列选择ARG:
In [9]:
df.ix[:,pd.Period('2015-01'):pd.Period('2015-03')]
Out[9]:
2015-01 2015-02 2015-03
0 0.046028 -0.298445 0.908185
1 -0.955049 -1.420290 1.632564
2 0.848906 0.089553 0.551265
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
676 次 |
| 最近记录: |