Daru::DateTimeIndex

Category: Note Tag: Ruby & Rails Date:

init data

[7] pry(main)> ids = Daru::DateTimeIndex.new(['2019-01-01','2019-01-04','2019-02-01','2019-02-02','2019-03-03'])
=> #<Daru::DateTimeIndex(5) 2019-01-01T00:00:00+00:00...2019-03-03T00:00:00+00:00>
[8] pry(main)> df = Daru::DataFrame.new(
[8] pry(main)*   {
[8] pry(main)*     'row_1' => [1, 2, 3, 4, 5],
[8] pry(main)*     'row_2' => [1, 2, 3, 4, 5],
[8] pry(main)*     'row_3' => [1, 2, 3, 4, 5]
[8] pry(main)*   },
[8] pry(main)*   index: ids
[8] pry(main)* )
=> #<Daru::DataFrame(5x3)>
                 row_1      row_2      row_3
 2019-01-01          1          1          1
 2019-01-04          2          2          2
 2019-02-01          3          3          3
 2019-02-02          4          4          4
 2019-03-03          5          5          5

split by date

[10] pry(main)> df.row['2019-02']
=> #<Daru::DataFrame(2x3)>
                 row_1      row_2      row_3
 2019-02-01          3          3          3
 2019-02-02          4          4          4
[11] pry(main)> df.row['2019-01-02','2019-02-02']
=> #<Daru::DataFrame(3x3)>
                 row_1      row_2      row_3
 2019-01-04          2          2          2
 2019-02-01          3          3          3
 2019-02-02          4          4          4

error

[12] pry(main)> ids = Daru::DateTimeIndex.new([])
=> #<Daru::DateTimeIndex(0)>
[13] pry(main)> df = Daru::DataFrame.new(
[13] pry(main)*   {
[13] pry(main)*     'row_1' => [1, 2, 3, 4, 5],
[13] pry(main)*     'row_2' => [1, 2, 3, 4, 5],
[13] pry(main)*     'row_3' => [1, 2, 3, 4, 5]
[13] pry(main)*   },
[13] pry(main)*   index: ids
[13] pry(main)* )
IndexError: Expected index size >= vector size. Index size : 0, vector size : 5
from /usr/local/lib/ruby/gems/2.4.0/gems/daru-0.2.1/lib/daru/vector.rb:1534:in `guard_sizes!'