red_amber 0.2.3 → 0.4.0

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.
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