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.
- checksums.yaml +4 -4
- data/.rubocop.yml +133 -51
- data/.yardopts +2 -0
- data/CHANGELOG.md +203 -1
- data/Gemfile +2 -1
- data/LICENSE +1 -1
- data/README.md +61 -45
- data/benchmark/basic.yml +11 -4
- data/benchmark/combine.yml +3 -4
- data/benchmark/dataframe.yml +62 -0
- data/benchmark/group.yml +7 -1
- data/benchmark/reshape.yml +6 -2
- data/benchmark/vector.yml +63 -0
- data/doc/DataFrame.md +35 -12
- data/doc/DataFrame_Comparison.md +65 -0
- data/doc/SubFrames.md +11 -0
- data/doc/Vector.md +295 -1
- data/doc/yard-templates/default/fulldoc/html/css/common.css +6 -0
- data/lib/red_amber/data_frame.rb +537 -68
- data/lib/red_amber/data_frame_combinable.rb +776 -123
- data/lib/red_amber/data_frame_displayable.rb +248 -18
- data/lib/red_amber/data_frame_indexable.rb +122 -19
- data/lib/red_amber/data_frame_loadsave.rb +81 -10
- data/lib/red_amber/data_frame_reshaping.rb +216 -21
- data/lib/red_amber/data_frame_selectable.rb +781 -120
- data/lib/red_amber/data_frame_variable_operation.rb +561 -85
- data/lib/red_amber/group.rb +195 -21
- data/lib/red_amber/helper.rb +114 -32
- data/lib/red_amber/refinements.rb +206 -0
- data/lib/red_amber/subframes.rb +1066 -0
- data/lib/red_amber/vector.rb +435 -58
- data/lib/red_amber/vector_aggregation.rb +312 -0
- data/lib/red_amber/vector_binary_element_wise.rb +387 -0
- data/lib/red_amber/vector_selectable.rb +321 -69
- data/lib/red_amber/vector_unary_element_wise.rb +436 -0
- data/lib/red_amber/vector_updatable.rb +397 -24
- data/lib/red_amber/version.rb +2 -1
- data/lib/red_amber.rb +15 -1
- data/red_amber.gemspec +4 -3
- metadata +19 -11
- data/doc/image/dataframe/reshaping_DataFrames.png +0 -0
- data/lib/red_amber/vector_functions.rb +0 -294
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa6f3c47b47df7271d7d150a800013c7c9d8bd75ca6066f54506c922f12eea09
|
4
|
+
data.tar.gz: 763f19f54a6508648fe9f1bdd0a11f678a86f554b58b71d7bed66aa5df7df2a7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
12
|
-
TargetRubyVersion:
|
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
|
-
#
|
34
|
-
|
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
|
-
|
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/
|
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
|
-
#
|
52
|
-
|
53
|
-
|
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
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
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' #
|
83
|
-
- 'lib/red_amber/
|
84
|
-
- 'lib/red_amber/
|
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
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
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
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
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:
|
111
|
-
- 'lib/red_amber/data_frame_displayable.rb' # Max:
|
112
|
-
- 'lib/red_amber/data_frame_selectable.rb' # Max:
|
113
|
-
- 'lib/red_amber/data_frame_variable_operation.rb' # Max:
|
114
|
-
- 'lib/red_amber/vector_functions.rb' # Max:
|
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
|
-
|
119
|
-
|
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:
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
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
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,206 @@
|
|
1
|
-
## [0.
|
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
|
+
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
|