【问题标题】:Strange... What does [::5,0] mean奇怪... [::5,0] 是什么意思
【发布时间】:2015-09-25 21:40:14
【问题描述】:

我找到了一个网页,其中解释了如何使用 set_xticks 和 . set_xticklabels.

他们将set_xticks 和 'set_xticklabels' 设置如下...

ax.set_xticks(xx[::5,0])
ax.set_xticklabels(times[::5])
ax.set_yticks(yy[0,::5])
ax.set_yticklabels(dates[::5])

[::5,0] 到底是什么意思..

我不知道......

【问题讨论】:

    标签: python numpy pandas matplotlib


    【解决方案1】:

    对于一个 numpy 数组,符号[::5,6] 表示取该数组的第 6 列,然后在第 6 列,每 5 行从第一行开始直到最后一行。

    例子-

    In [12]: n = np.arange(100000)
    In [17]: n.shape = (500,200)
    
    In [18]: n[::1,2]
    Out[18]:
    array([    2,   202,   402,   602,   802,  1002,  1202,  1402,  1602,
            1802,  2002,  2202,  2402,  2602,  2802,  3002,  3202,  3402,
            3602,  3802,  4002,  4202,  4402,  4602,  4802,  .....])
    
    In [19]: n[::5,2]
    Out[19]:
    array([    2,  1002,  2002,  3002,  4002,  5002,  6002,  ...])
    

    如果您有兴趣,请参考 numpy 数组切片 here

    【讨论】:

      【解决方案2】:

      这是python切片的组合,如下所述:

      https://docs.python.org/2.3/whatsnew/section-slices.html

      和“高级切片”,这是对 numpy 数组的进一步扩展,如此处所述:

      http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html

      您可能想在这两个方面都略读几遍才有意义,尽管它相对简单。上面 Anand S Kumar 的回答解释了您所询问的具体案例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-28
        • 2012-07-10
        • 2010-09-18
        • 2018-08-29
        相关资源
        最近更新 更多