yomise 0.1.4 → 0.1.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: 418a1e67d38ecedba57cebe0541714e07798e72aa4afb8b8e3905a37c344e028
4
- data.tar.gz: faeb8d2493510263951fc36f04d70a0cd51c6745b65dba2486b2ed02f836d1ed
3
+ metadata.gz: 167dac4985ed0f0a5bd62bcd94d69ef0bc1950737144d338d0e8be87d87b8ae0
4
+ data.tar.gz: 254f27cb8a67f6f7c72465179c4c333da5fa61d060078e383b9d10dbb7dd55ba
5
5
  SHA512:
6
- metadata.gz: 13d7cfb3b29bb0ecb86ccd53467f061de2d32d30ce9f540e4835455549d4b9f51d126e0482beef878c3cff10def5a26dd6ed3786d31a6083730df4f91f55a559
7
- data.tar.gz: 1a94e63ee73ab320495e5a0f52724e698ee63b81b8e554bf003ba294a087f151e058040676ef79733b6733103c73308a143638b5f02ad65802e08ffc21feffee
6
+ metadata.gz: 025d5f00493422f86e8a39db4bf72e3c0ff9fe5631f75cde381e555ac79419f80a687145d93c2148e9980ba1864ad3394690326ae24c411a887951b4cc9875a6
7
+ data.tar.gz: 3ffb2fe342adb7b39869f830574e641ad9524076b41b6190d863652abd8f16763ccfd5eab97e5fda4aa92713a92a7d0cfdc35663b666b3e311e137daa246d778
data/Gemfile.lock ADDED
@@ -0,0 +1,64 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ yomise (0.1.5)
5
+ daru (>= 0.3)
6
+ matrix
7
+ roo-xls (>= 1.2.0)
8
+ rover-df (>= 0.2.7)
9
+ smarter_csv (>= 1.4.2)
10
+ spreadsheet (>= 1.3.0)
11
+
12
+ GEM
13
+ remote: https://rubygems.org/
14
+ specs:
15
+ bigdecimal (4.1.2)
16
+ daru (0.3)
17
+ packable (~> 1.3.13)
18
+ diff-lcs (1.6.2)
19
+ matrix (0.4.2)
20
+ nokogiri (1.19.0-x64-mingw-ucrt)
21
+ racc (~> 1.4)
22
+ numo-narray (0.9.2.1)
23
+ packable (1.3.18)
24
+ racc (1.8.1)
25
+ rake (13.4.2)
26
+ roo (2.10.1)
27
+ nokogiri (~> 1)
28
+ rubyzip (>= 1.3.0, < 3.0.0)
29
+ roo-xls (1.2.0)
30
+ nokogiri
31
+ roo (>= 2.0.0, < 3)
32
+ spreadsheet (> 0.9.0)
33
+ rover-df (0.4.0)
34
+ numo-narray (>= 0.9.1.9)
35
+ rspec (3.13.2)
36
+ rspec-core (~> 3.13.0)
37
+ rspec-expectations (~> 3.13.0)
38
+ rspec-mocks (~> 3.13.0)
39
+ rspec-core (3.13.6)
40
+ rspec-support (~> 3.13.0)
41
+ rspec-expectations (3.13.5)
42
+ diff-lcs (>= 1.2.0, < 2.0)
43
+ rspec-support (~> 3.13.0)
44
+ rspec-mocks (3.13.8)
45
+ diff-lcs (>= 1.2.0, < 2.0)
46
+ rspec-support (~> 3.13.0)
47
+ rspec-support (3.13.7)
48
+ ruby-ole (1.2.13.1)
49
+ rubyzip (2.4.1)
50
+ smarter_csv (1.12.1)
51
+ spreadsheet (1.3.1)
52
+ bigdecimal
53
+ ruby-ole
54
+
55
+ PLATFORMS
56
+ x64-mingw-ucrt
57
+
58
+ DEPENDENCIES
59
+ rake (~> 13.0)
60
+ rspec (~> 3.0)
61
+ yomise!
62
+
63
+ BUNDLED WITH
64
+ 2.5.23
data/lib/to_csv.rb CHANGED
@@ -85,7 +85,7 @@ class Daru::DataFrame
85
85
  return piv
86
86
 
87
87
  end
88
-
88
+
89
89
  def to_rover
90
90
  Rover::DataFrame.new(self.to_a[0])
91
91
  end
@@ -111,10 +111,49 @@ class Rover::DataFrame
111
111
  return piv.to_rover
112
112
  end
113
113
 
114
- def outer_join
114
+ def outer_join(other, **kwargs)
115
115
  ddr = self.to_daru
116
- # j = ddr.join ## 外部結合
116
+ odr = self.to_daru
117
+ j = ddr.join(how: :outer, **kwargs) ## 外部結合
117
118
  return j.to_rover
118
119
  end
119
-
120
+
121
+ def categorize(col)
122
+ if col.is_a?(Array)
123
+ self[col].to_a.uniq
124
+ else
125
+ self[[col]].to_a.uniq
126
+ end
127
+ end
128
+
129
+ def get_category(categ)
130
+ a = self[categ.each_key.to_a].to_a
131
+ mask = a.filter_map.with_index {|v, i| i if v == categ }
132
+ return self[mask]
133
+ end
134
+
135
+ ## Roverのleft_joinをエラー回避
136
+ def left_join_rev(other, on:)
137
+ left_rows = self.to_a
138
+ right_rows = other.to_a
139
+
140
+ right_map = right_rows.each_with_object({}) do |row, map|
141
+ map[row[on]] = row
142
+ end
143
+
144
+ result_rows = []
145
+
146
+ left_rows.each do |l_row|
147
+ key = l_row[on]
148
+ r_row = right_map[key]
149
+
150
+ if r_row
151
+ result_rows << l_row.merge(r_row)
152
+ else
153
+ result_rows << l_row
154
+ end
155
+ end
156
+
157
+ Rover::DataFrame.new(result_rows)
158
+ end
120
159
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Yomise
4
- VERSION = "0.1.4"
4
+ VERSION = "0.1.5"
5
5
  end
data/yomise-0.1.4.gem ADDED
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yomise
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - showata
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-05-05 00:00:00.000000000 Z
11
+ date: 2026-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: daru
@@ -105,6 +105,7 @@ files:
105
105
  - ".rspec"
106
106
  - CODE_OF_CONDUCT.md
107
107
  - Gemfile
108
+ - Gemfile.lock
108
109
  - LICENSE.txt
109
110
  - README.md
110
111
  - Rakefile
@@ -113,7 +114,7 @@ files:
113
114
  - lib/yomise.rb
114
115
  - lib/yomise/version.rb
115
116
  - sig/yomise.rbs
116
- - yomise.gemspec
117
+ - yomise-0.1.4.gem
117
118
  homepage: https://github.com/show-o-atakun/yomise
118
119
  licenses:
119
120
  - MIT
data/yomise.gemspec DELETED
@@ -1,46 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "lib/yomise/version"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "yomise"
7
- spec.version = Yomise::VERSION
8
- spec.authors = ["showata"]
9
- spec.email = ["shun_yamaguchi_tc@live.jp"]
10
-
11
- spec.summary = "A simple way to Open .csv, .xls, .xlsx files. (formerly easy_sheet_io)"
12
- spec.description = "A simple way to Open .csv, .xls, .xlsx files. You can convert it to 2D array, hash, data frame."
13
- spec.homepage = "https://github.com/show-o-atakun/yomise"
14
- spec.license = "MIT"
15
- spec.required_ruby_version = ">= 3.0.0"
16
-
17
- spec.metadata["homepage_uri"] = spec.homepage
18
- spec.metadata["source_code_uri"] = "https://github.com/show-o-atakun/yomise"
19
-
20
- # spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
21
- # spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
22
-
23
- # Specify which files should be added to the gem when it is released.
24
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
- spec.files = Dir.chdir(__dir__) do
26
- `git ls-files -z`.split("\x0").reject do |f|
27
- (File.expand_path(f) == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|circleci)|appveyor)})
28
- end
29
- end
30
- spec.bindir = "exe"
31
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
32
- spec.require_paths = ["lib"]
33
-
34
- spec.add_dependency "daru", ">= 0.3"
35
- spec.add_dependency "rover-df", ">= 0.2.7"
36
- spec.add_dependency "smarter_csv", ">= 1.4.2"
37
- spec.add_dependency "roo-xls", ">= 1.2.0"
38
- spec.add_dependency "spreadsheet", ">= 1.3.0"
39
- spec.add_dependency "matrix"
40
-
41
- # Uncomment to register a new dependency of your gem
42
- # spec.add_dependency "example-gem", "~> 1.0"
43
-
44
- # For more information and examples about making a new gem, check out our
45
- # guide at: https://bundler.io/guides/creating_gem.html
46
- end