red_amber 0.2.3 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +133 -51
  3. data/.yardopts +2 -0
  4. data/CHANGELOG.md +203 -1
  5. data/Gemfile +2 -1
  6. data/LICENSE +1 -1
  7. data/README.md +61 -45
  8. data/benchmark/basic.yml +11 -4
  9. data/benchmark/combine.yml +3 -4
  10. data/benchmark/dataframe.yml +62 -0
  11. data/benchmark/group.yml +7 -1
  12. data/benchmark/reshape.yml +6 -2
  13. data/benchmark/vector.yml +63 -0
  14. data/doc/DataFrame.md +35 -12
  15. data/doc/DataFrame_Comparison.md +65 -0
  16. data/doc/SubFrames.md +11 -0
  17. data/doc/Vector.md +295 -1
  18. data/doc/yard-templates/default/fulldoc/html/css/common.css +6 -0
  19. data/lib/red_amber/data_frame.rb +537 -68
  20. data/lib/red_amber/data_frame_combinable.rb +776 -123
  21. data/lib/red_amber/data_frame_displayable.rb +248 -18
  22. data/lib/red_amber/data_frame_indexable.rb +122 -19
  23. data/lib/red_amber/data_frame_loadsave.rb +81 -10
  24. data/lib/red_amber/data_frame_reshaping.rb +216 -21
  25. data/lib/red_amber/data_frame_selectable.rb +781 -120
  26. data/lib/red_amber/data_frame_variable_operation.rb +561 -85
  27. data/lib/red_amber/group.rb +195 -21
  28. data/lib/red_amber/helper.rb +114 -32
  29. data/lib/red_amber/refinements.rb +206 -0
  30. data/lib/red_amber/subframes.rb +1066 -0
  31. data/lib/red_amber/vector.rb +435 -58
  32. data/lib/red_amber/vector_aggregation.rb +312 -0
  33. data/lib/red_amber/vector_binary_element_wise.rb +387 -0
  34. data/lib/red_amber/vector_selectable.rb +321 -69
  35. data/lib/red_amber/vector_unary_element_wise.rb +436 -0
  36. data/lib/red_amber/vector_updatable.rb +397 -24
  37. data/lib/red_amber/version.rb +2 -1
  38. data/lib/red_amber.rb +15 -1
  39. data/red_amber.gemspec +4 -3
  40. metadata +19 -11
  41. data/doc/image/dataframe/reshaping_DataFrames.png +0 -0
  42. data/lib/red_amber/vector_functions.rb +0 -294
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6f70451aad21c0750fb2a0bfe165baf5862ac3837541135cf9d58df4ecd732ac
4
- data.tar.gz: c31f143278bf3792bc03e0e727e12df72fca5a001b3d6c098c3f028df456e2f0
3
+ metadata.gz: aa6f3c47b47df7271d7d150a800013c7c9d8bd75ca6066f54506c922f12eea09
4
+ data.tar.gz: 763f19f54a6508648fe9f1bdd0a11f678a86f554b58b71d7bed66aa5df7df2a7
5
5
  SHA512:
6
- metadata.gz: c5026422e8f0c0b1b1b25f6baa97b540287937a3c0d224a16ce13c17c16a11ccd54682682f17fdf5e176190f7db40bfda7bbe5659e89a212eed8f1bf9b3567e9
7
- data.tar.gz: 82b500a1570b8fc8925a7c988bd7d3f3db677588537ee9f8d75f965ca98f5d730a0a55be5fa6637e3beeb4aed11b55a9afd3e4dfd52aee687e123f390f0d8d2b
6
+ metadata.gz: 433ca52f7a62f055f327e0426426cfd86f563009e4ec4811d7cf8297152309081271b7b7625d39ffa31ecf455d352ee305d76b6d09e4d1dab0d90aa6c2bffb3e
7
+ data.tar.gz: 717d8618dd428d165c80420e7c35f1b7f870a059227a91bd5224f67b9cd3b8bdafcaed523fee170524738036cc9b43e914712fa01e88f7eb9ca1f0cc18c98dbf
data/.rubocop.yml CHANGED
@@ -8,12 +8,13 @@ require:
8
8
  - rubocop-rake
9
9
 
10
10
  AllCops:
11
- # drop support for < 2.7
12
- TargetRubyVersion: 2.7
11
+ # drop support for 2.7 (since 0.3.0)
12
+ TargetRubyVersion: 3.0
13
13
  # accept new cops if any
14
14
  NewCops: enable
15
15
 
16
16
  # ===
17
+ # Globally I change these 3 cops from default
17
18
 
18
19
  # alias is hard to see separately
19
20
  Style/Alias:
@@ -29,123 +30,204 @@ Style/TrailingCommaInHashLiteral:
29
30
  # ===
30
31
 
31
32
  # To let you know the possibility of refactoring ===
32
- #
33
- # avoid unused variable asignment
34
- Rubycw/Rubycw:
33
+
34
+ # Max: 120
35
+ # This cop supports safe autocorrection (--autocorrect).
36
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, IgnoredPatterns.
37
+ # URISchemes: http, https
38
+ Layout/LineLength:
39
+ Max: 90
35
40
  Exclude:
36
41
  - 'test/**/*'
37
- Lint/UselessAssignment:
42
+
43
+ # EnforcedStyle: aligned
44
+ Layout/MultilineMethodCallIndentation:
45
+ EnforcedStyle: indented_relative_to_receiver
46
+
47
+ # avoid unused variable asignment
48
+ Rubycw/Rubycw:
38
49
  Exclude:
39
50
  - 'test/**/*'
40
51
 
41
52
  # Disabled to define Vector operators
53
+ # Offense count: 38
42
54
  Lint/BinaryOperatorWithIdenticalOperands:
43
55
  Exclude:
44
- - 'test/test_vector_function.rb'
56
+ - 'test/test_vector_binary_element_wise.rb'
45
57
 
46
58
  # Need for test with empty block
59
+ # Offense count: 1
60
+ # Configuration parameters: AllowComments, AllowEmptyLambdas.
47
61
  Lint/EmptyBlock:
48
62
  Exclude:
49
63
  - 'test/test_group.rb'
50
64
 
51
- # Max: 120
52
- Layout/LineLength:
53
- Max: 118
65
+ # avoid unused variable asignment
66
+ # Offense count: 6
67
+ Lint/UselessAssignment:
54
68
  Exclude:
55
69
  - 'test/**/*'
56
70
 
57
71
  # <= 17 satisfactory
58
72
  # 18..30 unsatisfactory
59
73
  # > 30 dangerous
74
+ # Offense count: 28
75
+ # Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods, CountRepeatedAttributes.
60
76
  Metrics/AbcSize:
61
77
  Max: 30
62
- Exclude:
63
- - 'lib/red_amber/data_frame_combinable.rb' # Max: 43
64
- - 'lib/red_amber/data_frame_displayable.rb' # Max: 55
65
- - 'lib/red_amber/data_frame_reshaping.rb' # Max 40.91
66
- - 'lib/red_amber/data_frame_selectable.rb' # Max: 51
67
- - 'lib/red_amber/data_frame_variable_operation.rb' # Max: 30.15
68
- - 'lib/red_amber/vector_updatable.rb' # Max: 36
69
- - 'lib/red_amber/vector_selectable.rb' # Max: 33
78
+ CountRepeatedAttributes: false
79
+ AllowedMethods: [
80
+ 'join', # 51.87
81
+ 'dataframe_info', # 46.5
82
+ 'format_table', # 84.62
83
+ 'to_long', # 33.66
84
+ 'to_wide', #38.22
85
+ 'slice_by', # 38.29
86
+ 'remove', # 44.42
87
+ 'drop', # 31.42
88
+ '[]', # 33.76
89
+ 'split', # 37.35
90
+ ]
70
91
 
71
92
  # Max: 25
93
+ # Offense count: 57
94
+ # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods.
95
+ # AllowedMethods: refine
72
96
  Metrics/BlockLength:
73
97
  Max: 25
74
98
  Exclude:
75
99
  - 'test/**/*'
100
+ - 'lib/red_amber/helper.rb' # 32
76
101
 
102
+ # It's ok if class is big
77
103
  # Max: 100
104
+ # Offense count: 15
105
+ # Configuration parameters: CountComments, CountAsOne.
78
106
  Metrics/ClassLength:
79
- Max: 100
80
107
  Exclude:
81
108
  - 'test/**/*'
82
- - 'lib/red_amber/data_frame.rb' #Max: 131
83
- - 'lib/red_amber/vector.rb' #Max: 102
84
- - 'lib/red_amber/group.rb' #Max: 103
109
+ - 'lib/red_amber/data_frame.rb' # 162
110
+ - 'lib/red_amber/group.rb' # 105
111
+ - 'lib/red_amber/subframes.rb' # 110
112
+ - 'lib/red_amber/vector.rb' # 152
85
113
 
114
+ # Only for monitoring. I will measure by PerceivedComplexity.
86
115
  # Max: 7
116
+ # Offense count: 16
117
+ # Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods.
87
118
  Metrics/CyclomaticComplexity:
88
119
  Max: 12
89
- Exclude:
90
- - 'lib/red_amber/data_frame_combinable.rb' # Max: 15
91
- - 'lib/red_amber/data_frame_displayable.rb' # Max: 18
92
- - 'lib/red_amber/data_frame_selectable.rb' # Max: 14
93
- - 'lib/red_amber/helper.rb' # Max: 15
94
- - 'lib/red_amber/vector_selectable.rb' # Max: 13
95
- - 'lib/red_amber/vector_updatable.rb' # Max: 14
120
+ AllowedMethods: [
121
+ 'split', # 33
122
+ 'format_table', # 21
123
+ 'normalize_element', # 17
124
+ 'slice_by', # 16
125
+ 'assign_update', # 14
126
+ 'join', # 14
127
+ 'parse_range', # 14
128
+ 'remove', # 14
129
+ '[]', # 13
130
+ ]
96
131
 
97
132
  # Max: 10
133
+ # Offense count: 34
134
+ # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods.
98
135
  Metrics/MethodLength:
99
136
  Max: 30
100
- Exclude:
101
- - 'lib/red_amber/data_frame_combinable.rb' # Max: 38
102
- - 'lib/red_amber/data_frame_displayable.rb' # Max: 33
103
- - 'lib/red_amber/data_frame_selectable.rb' # Max: 38
104
- - 'lib/red_amber/data_frame_variable_operation.rb' # Max: 35
137
+ AllowedMethods: [
138
+ 'join', # 47
139
+ 'dataframe_info', # 33
140
+ 'format_table', # 53
141
+ 'slice_by', # 38
142
+ 'assign_update', # 35
143
+ 'aggregate', # 31
144
+ ]
105
145
 
106
146
  # Max: 100
147
+ # Offense count: 5
148
+ # Configuration parameters: CountComments, CountAsOne.
107
149
  Metrics/ModuleLength:
108
150
  Max: 100
109
151
  Exclude:
110
- - 'lib/red_amber/data_frame_combinable.rb' # Max: 108
111
- - 'lib/red_amber/data_frame_displayable.rb' # Max: 132
112
- - 'lib/red_amber/data_frame_selectable.rb' # Max: 141
113
- - 'lib/red_amber/data_frame_variable_operation.rb' # Max: 110
114
- - 'lib/red_amber/vector_functions.rb' # Max: 114
152
+ - 'lib/red_amber/data_frame_combinable.rb' # Max: 149
153
+ - 'lib/red_amber/data_frame_displayable.rb' # Max: 226
154
+ - 'lib/red_amber/data_frame_selectable.rb' # Max: 175
155
+ - 'lib/red_amber/data_frame_variable_operation.rb' # Max: 171
156
+ - 'lib/red_amber/vector_functions.rb' # Max: 165
157
+ - 'lib/red_amber/vector_selectable.rb' # Max: 104
158
+ - 'lib/red_amber/vector_updatable.rb' # Max: 103
115
159
 
116
160
  # Max: 5
161
+ # Offense count: 1
162
+ # Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
117
163
  Metrics/ParameterLists:
118
- Max: 6
119
- # Exclude:
120
- # - 'lib/red_amber/data_frame_combinable.rb' # Max: 6
164
+ Exclude:
165
+ - 'lib/red_amber/data_frame_combinable.rb' # Max: 6, at 'join'
121
166
 
122
167
  # Max: 8
168
+ # Offense count: 15
169
+ # Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods.
123
170
  Metrics/PerceivedComplexity:
124
- Max: 13
125
- Exclude:
126
- - 'lib/red_amber/data_frame_combinable.rb' # Max: 14
127
- - 'lib/red_amber/data_frame_selectable.rb' # Max: 14
128
- - 'lib/red_amber/helper.rb' # Max: 15
129
- - 'lib/red_amber/vector_updatable.rb' # Max: 15
130
- - 'lib/red_amber/data_frame_displayable.rb' # Max: 19
131
-
171
+ Max: 10
172
+ AllowedMethods: [
173
+ 'format_table', # 22
174
+ 'slice_by', # 20
175
+ 'normalize_element', # 17
176
+ 'assign_update', # 15
177
+ 'parse_range', # 15
178
+ 'join', # 14
179
+ 'remove', # 14
180
+ 'split', # 14
181
+ 'dataframe_info', # 13
182
+ 'replace', # 13
183
+ 'drop', # 12
184
+ 'initialize', # 12
185
+ 'aggregate', # 12
186
+ '[]', # 11
187
+ 'filters', # 11
188
+ 'html_table', # 11
189
+ 'slice', # 11
190
+ ]
191
+
192
+ # Offense count: 1
193
+ # Configuration parameters: ExpectMatchingDefinition, CheckDefinitionPathHierarchy, CheckDefinitionPathHierarchyRoots, Regex, IgnoreExecutableScripts, AllowedAcronyms.
194
+ # CheckDefinitionPathHierarchyRoots: lib, spec, test, src
195
+ # AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
132
196
  Naming/FileName:
133
197
  Exclude:
134
198
  - 'lib/red-amber.rb'
135
199
 
136
200
  # Necessary to define is_na, is_in, etc.
201
+ # Offense count: 3
202
+ # Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros.
203
+ # NamePrefix: is_, has_, have_
204
+ # ForbiddenPrefixes: is_, has_, have_
205
+ # AllowedMethods: is_a?
206
+ # MethodDefinitionMacros: define_method, define_singleton_method
137
207
  Naming/PredicateName:
138
208
  Exclude:
139
- - 'lib/red_amber/vector_functions.rb'
140
209
  - 'lib/red_amber/vector.rb'
210
+ - 'lib/red_amber/vector_functions.rb'
141
211
  - 'lib/red_amber/vector_selectable.rb'
142
212
 
213
+ # Offense count: 16
214
+ # This cop supports safe autocorrection (--autocorrect).
215
+ Style/OperatorMethodCall:
216
+ Exclude:
217
+ - 'test/test_vector_binary_element_wise.rb'
218
+
143
219
  # Necessary to test when range.end == -1
220
+ # Offense count: 2
221
+ # This cop supports unsafe autocorrection (--autocorrect-all).
144
222
  Style/SlicingWithRange:
145
223
  Exclude:
146
224
  - 'test/test_data_frame_selectable.rb'
147
225
 
148
226
  # Necessary to Vector < 0 element-wise comparison
227
+ # Offense count: 5
228
+ # This cop supports unsafe autocorrection (--autocorrect-all).
229
+ # Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns, IgnoredMethods.
230
+ # SupportedStyles: predicate, comparison
149
231
  Style/NumericPredicate:
150
232
  Exclude:
151
233
  - 'lib/red_amber/data_frame_selectable.rb'
data/.yardopts CHANGED
@@ -1 +1,3 @@
1
1
  --output-dir doc/yard
2
+ --template-path doc/yard-templates
3
+ --use-cache
data/CHANGELOG.md CHANGED
@@ -1,4 +1,206 @@
1
- ## [0.2.4] - 2022-12-25 (unleleased)
1
+ ## [0.4.0] - 2023-02-25
2
+
3
+ :memo: Update documents for consistency
4
+
5
+ - Breaking change
6
+ - Upgrade dependency to Arrow 11.0.0 (#188)
7
+
8
+ - Bug fixes
9
+ - Add :force_order option for DataFrame#join (#174)
10
+ - Return error for empty DataFrame in DataFrame#filter (#172)
11
+ - Accept ChunkedArray in DataFrame#filter (#172)
12
+ - Fix Vector#replace to accept Arrow::Array as a replacer (#179)
13
+ - Fix Vector#round_to_multiple to accept Float or Integer (#180)
14
+ - Change Vector atan2 to a class method (#180)
15
+ - Fix Vector#shift when boolean Vector (#184)
16
+ - Fix processing empty SubFrames (#183)
17
+ - Do not check object id in DataFrame#rename, #drop for self (#188)
18
+
19
+ - New features and improvements
20
+ - Accept a block in DataFrame#filter (#172)
21
+ - Add Vector.aggregate? method (#175)
22
+ - Introduce Vector#propagate method (#175)
23
+ - Add Vector#rank methods (#176)
24
+ - Add Vector#sample method (#176)
25
+ - Add Vector#sort method (#176)
26
+ - Promote DataFrame#shape_str to public (#184)
27
+ - Introduce Vector#concatenate (#184)
28
+ - Add #numeric? in refinements of Array (#184)
29
+ - Add Vector#cumulative_sum_checked and #cumsum (#184)
30
+ - Add Vector#resolve method (#184)
31
+ - Add DataFrame#tdra method (#184)
32
+ - Add #expand as an alias for Vector#propagate (#184)
33
+ - Add #glimpse as an alias for DataFrame#tdr (#184)
34
+ - New class SubFrames (#183)
35
+ - Introduce class SubFrames
36
+ - Memorize dataframes in SubFrames
37
+ - Add @frames to memorize sub DataFrames
38
+ - Accept filters in SubFrames.new
39
+ - Accept block in SubFrames.new
40
+ - Add SubFrames.by_filter
41
+ - Introduce methods creating SubFrames from DataFrame
42
+ - Introduce SubFrames#each method
43
+ - Add SubFrames#to_s method
44
+ - Add SubFrames#concatenate method
45
+ - Add SubFrames#offset_indices method
46
+ - SubFrames#aggregate method
47
+ - Redefine SubFrames#map to return SubFrames
48
+ - Define SubFrame#map dynamically
49
+ - Add SubFrames#assign method
50
+ - Redefine SubFrames#select to return SubFrames
51
+ - Add SubFrames#reject method
52
+ - Add SubFrames#filter_map method
53
+ - Refine DataFrame#indices memorizing @indices
54
+ - Rename SubFrames#universal_frame as #baseframe
55
+ - Set Group iteration feature to @api private
56
+
57
+ - Refactoring
58
+ - Generate Vector functions in class method (#177)
59
+ - Set Constant visibility to private (#179)
60
+ - Separate test_vector_function (#179)
61
+ - Relocate methods in DataFrameIndexable (#179)
62
+ - Rename Array refinements to the same name as Vector (#184)
63
+
64
+ - Improve in tests/CI
65
+ - Tests
66
+ - Update benchmarks to set 0.3.0 as a reference (#167)
67
+ - Move test of Vector#logb to proper location (#180)
68
+
69
+ - Cops
70
+ - Update .rubocop.yml to align with latest cops (#174)
71
+ - Unify style of MethodCallIndentation as relative to reciever (#184)
72
+
73
+ - CI
74
+ - Fix setting up Arrow by homebrew in CI (#167)
75
+ - Fix CI error on homebrew deleting python link (#167)
76
+ - Set cache-version to get new C extensions in CI (#173) Thanks to @kou for suggestion.
77
+
78
+ - Documentation
79
+ - Update DataFrame.md about loading csv without headers (#165)
80
+ - Thanks to kojix2
81
+ - Update YARD in DataFrame combinable (#168)
82
+ - Update comment for Ruby 2.7 support in README.md
83
+ - Update license year
84
+ - Update README (#172)
85
+ - Update Vector.md and yardoc in #propagate (#175)
86
+ - Use customized style sheet for YARD (#179)
87
+ - Add examples for the doc of #pick and #drop (#179)
88
+ - Add examples to YARD in DataFrame reshaping methods (#179)
89
+ - Update documents in DataFrameDisplayable (#179)
90
+ - Update documents in DataFrameVariableOperation (#179)
91
+ - Update document for dynamically generated methods (#179)
92
+ - Unify style in document (#179)
93
+ - Update documents in DataFrameSelectable (#179)
94
+ - Update documents of basic Vector methods (#179)
95
+ - Update document in VectorUpdatable (#179)
96
+ - Update document of Group (#179)
97
+ - Update document of DataFrameLoadSave (#180)
98
+ - Add examples for document of ArrowFunction (#180)
99
+ - Update document of Vector_unary_aggregation (#180)
100
+ - Update document of Vector_unary_element_wise (#180)
101
+ - Update document of Vector_biary_element_wise (#180)
102
+ - Add documentation to give comparison of dataframes(#169)
103
+ - Thanks to Benson Muite
104
+ - Update documents for consistency of method indentation (#189)
105
+ - Update CHANGELOG (#189)
106
+ - Update README for 0.4.0 (#189)
107
+
108
+ - GitHub site
109
+
110
+ - Thanks
111
+ - kojix2
112
+ - Benson Muite
113
+
114
+ ## [0.3.0] - 2022-12-18
115
+
116
+ - Breaking change
117
+ - Supported Ruby version has changed from 2.7 to 3.0
118
+ - Upgrade minimum supported/required version of Ruby from 2.7 to 3.0 (#159, #160)
119
+
120
+ - Bug fixes
121
+ - Add check with #key? in DataFrame#method_missing (#140)
122
+ - Delete unnecessary backslash to supress warning in unary functions (#140)
123
+ - Fix syntax in code_climate.yml (144)
124
+ - Temporary disable simplecov test report (#149)
125
+ - Change Vector#[] to return Array or scalar (#148)
126
+ - Add missing simplecov HTML formatter (#148)
127
+ - Change return value of DataFrame#save to self (#160)
128
+ - Originally reported by kojix2.
129
+
130
+ - New features and improvements
131
+ - Update Vector#take to accept block (#148)
132
+ - Add properties of list Vectors (#148)
133
+ - Add Vector#split, #split_to_column, #split_to_row (#148)
134
+ - Add Vector#merge (#148)
135
+
136
+ - Refactoring
137
+ - Refactor code (#140)
138
+ - Add DataFrame.create as a faster constructor
139
+ - Refactor DataFrame.new using refinements and duck typing
140
+ - Refactor Vector.new using refinements and duck typing
141
+ - Add Vector.create as a faster constructor
142
+ - Refactor Group
143
+ - Refactor DataFrame#pick/#drop by refininig Array
144
+ - Refactor DataFrame#pick/#drop
145
+ - Refactor nil treatment in pick/drop
146
+ - Refactor DataFrame#pick/#drop using new parser
147
+ - Refactor DataFrame#[]
148
+ - Refactor Vector#[], #take, #filter by updating parser
149
+ - Add for_keys option to parse_args
150
+ - Refactor Vector properties by refinements for Arrow::Array
151
+ - Refactor DataFrame selectable using Arrow::Array refinements instead of Vector methods
152
+ - Refactor DataFrame#assign
153
+ - Refine error message in DataFrame#to_long/to_wide #143)
154
+ - Refactor Vector#take/filter returns arrow array (#148)
155
+ - Change LineLength in cop from 120 to 90 (#152)
156
+ - Refine DataFrame combinable (join) operations (#159)
157
+ - Refine DataFrame#join effectively using outputs options
158
+ - Simplify DataFrame set operations
159
+
160
+ - Improve in tests/CI
161
+ - Tests
162
+ - Update benchmark using 0.2.3 (#138)
163
+ - Update benchmark basic#02/pick by [] (#140)
164
+ - Update benchmark contexts and loop_count (#140)
165
+ - Add benchmark for vector (#140)
166
+ - Add tests for refinements (#140)
167
+ - Add benchmark for the series of DataFrame operations (#140)
168
+ - Add missing test for tdr and dictionary (#140)
169
+ - Add missing test for group#method with foreign key (#152)
170
+ - Add missing test for set operations and natural join (#152)
171
+ - Add missing test for DataFrame#[] with selecting by Array of illegal type' (#152)
172
+ - Add missing test for DataFrame#assign when assigner size is mismatch (#152)
173
+ - Accept Hash as join keys in DataFrame join methods (#159)
174
+
175
+ - Cops
176
+ - Refactor/clean rubocop.yml (#138)
177
+
178
+ - CI
179
+ - Support Ruby 3.2 in CI test (#141)
180
+ - Send test coverage report to Code Climate (#144)
181
+ - Add test on Fedora (#151)
182
+ - Thanks to Benson Muite.
183
+
184
+ - Add workflow to generate document (#153)
185
+ - Thanks to kojix2.
186
+
187
+ - Support Code Climate test coverage report in CI (#155)
188
+
189
+ - Documentation
190
+ - Add YARD in data_frame.rb (#140)
191
+ - Fix YARD document in the code (#140)
192
+ - Add Code Climate badges of maintainability and coverage (#144)
193
+ - Add installation for Fedora in README (#147)
194
+ - Thanks to Benson Muite.
195
+
196
+ - Add Vector#split/merge in Vector.md (#148)
197
+ - Fix codeclimate badges in README (#155)
198
+ - Update YARD in DataFrame join methods (#159)
199
+ - Update jupyter notebook '89 examples of Redamber' (#160)
200
+
201
+ - Thanks
202
+ - Benson Muite
203
+ - kojix2
2
204
 
3
205
  ## [0.2.3] - 2022-11-16
4
206
 
data/Gemfile CHANGED
@@ -7,7 +7,7 @@ gemspec
7
7
  group :test do
8
8
  gem 'rake'
9
9
 
10
- gem 'red-parquet', '~> 10.0.0'
10
+ gem 'red-parquet', '~> 11.0.0'
11
11
  gem 'rover-df', '~> 0.3.0'
12
12
 
13
13
  gem 'rubocop'
@@ -24,4 +24,5 @@ group :test do
24
24
  gem 'red-arrow-numo-narray'
25
25
  gem 'red-datasets-arrow'
26
26
  gem 'simplecov'
27
+ gem 'simplecov-json'
27
28
  end
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2022 Hirokazu SUZUKI (heronshoes)
3
+ Copyright (c) 2022-2023 Hirokazu SUZUKI (heronshoes)
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal