rover-df 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0a96f5fa610232beb50eb2d22cd87b52627dfda44139e618fb0fa5d82f4d90fa
4
- data.tar.gz: 899ae175705f7195a994c0bfd19fd021334404d07440f05153c08be5fa08c11b
3
+ metadata.gz: ca39a558c3c12103f03fed4cb8f007fbd00a1f8e84b839916fd0010aae4613ba
4
+ data.tar.gz: 43df8cdc415cc036ac383f30b7c91a35b644067a3cb8ea199abd7452b98298d5
5
5
  SHA512:
6
- metadata.gz: dc61f769ce5bac5fcda65dcc25fb940f7bf9f81ac168029748b5ccf8bfb896008f0836f9523ca3785e22782dff3f4d8dccc19ae823f944391c47df41fd88b3ec
7
- data.tar.gz: 5a0c7e5e77233ef8bf7b4df23d711ec22a2e85165715ca330344a0b6cd5bef99e571256496e9c6f6037bf0fc0c771b4e951d91f0a85c17211127649d6e246878
6
+ metadata.gz: 2724c7e85ee7921f277be833cf89be638c14cbb37a44411bba86c42cacffe7c0e4b82ea04d4dfb3d694c6429ba41bc8e8c10f7cb40e5d34bf59d14755858735f
7
+ data.tar.gz: fa860158decbca0a0b35ccb82e6f73d9a513c37b483eca52d140842d5dd255899a2e1ded3ec4375a492b86d3ec09ffa53d4871e05f1fdad39f3d2630215417dc
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.2.5 (2021-09-25)
2
+
3
+ - Fixed column types with joins
4
+
1
5
  ## 0.2.4 (2021-06-03)
2
6
 
3
7
  - Added grouping for `std` and `var`
data/README.md CHANGED
@@ -20,7 +20,7 @@ gem 'rover-df'
20
20
 
21
21
  A data frame is an in-memory table. It’s a useful data structure for data analysis and machine learning. It uses columnar storage for fast operations on columns.
22
22
 
23
- Try it out for forecasting by clicking the button below:
23
+ Try it out for forecasting by clicking the button below (it can take a few minutes to start):
24
24
 
25
25
  [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/ankane/ml-stack/master?filepath=Forecasting.ipynb)
26
26
 
@@ -475,10 +475,12 @@ module Rover
475
475
 
476
476
  left = how == "left"
477
477
 
478
+ types = {}
478
479
  vectors = {}
479
480
  keys = (self.keys + other.keys).uniq
480
481
  keys.each do |k|
481
482
  vectors[k] = []
483
+ types[k] = join_type(self.types[k], other.types[k])
482
484
  end
483
485
 
484
486
  each_row do |r|
@@ -498,7 +500,7 @@ module Rover
498
500
  end
499
501
  end
500
502
 
501
- DataFrame.new(vectors)
503
+ DataFrame.new(vectors, types: types)
502
504
  end
503
505
 
504
506
  def check_join_keys(df, keys)
@@ -523,6 +525,19 @@ module Rover
523
525
  end
524
526
  end
525
527
 
528
+ def join_type(a, b)
529
+ if a.nil?
530
+ b
531
+ elsif b.nil?
532
+ a
533
+ elsif a == b
534
+ a
535
+ else
536
+ # TODO specify
537
+ nil
538
+ end
539
+ end
540
+
526
541
  def to_vector(v, size: nil, type: nil)
527
542
  if v.is_a?(Vector)
528
543
  v = v.to(type) if type && v.type != type
data/lib/rover/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Rover
2
- VERSION = "0.2.4"
2
+ VERSION = "0.2.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rover-df
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kane
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-03 00:00:00.000000000 Z
11
+ date: 2021-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: numo-narray
@@ -58,7 +58,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
58
58
  - !ruby/object:Gem::Version
59
59
  version: '0'
60
60
  requirements: []
61
- rubygems_version: 3.2.3
61
+ rubygems_version: 3.2.22
62
62
  signing_key:
63
63
  specification_version: 4
64
64
  summary: Simple, powerful data frames for Ruby