red_amber 0.4.0 → 0.4.2
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 +20 -5
- data/CHANGELOG.md +104 -4
- data/README.md +18 -16
- data/benchmark/basic.yml +8 -8
- data/benchmark/combine.yml +3 -3
- data/benchmark/dataframe.yml +15 -9
- data/benchmark/group.yml +6 -6
- data/benchmark/reshape.yml +6 -6
- data/benchmark/vector.yml +6 -6
- data/doc/CODE_OF_CONDUCT.md +1 -1
- data/docker/.env +4 -0
- data/docker/Dockerfile +66 -0
- data/docker/Gemfile +21 -0
- data/docker/Gemfile.lock +80 -0
- data/docker/docker-compose.yml +21 -0
- data/docker/example +74 -0
- data/docker/notebook/examples_of_red_amber.ipynb +8562 -0
- data/docker/notebook/red-amber.ipynb +188 -0
- data/docker/readme.md +118 -0
- data/lib/red_amber/data_frame.rb +25 -10
- data/lib/red_amber/data_frame_combinable.rb +117 -73
- data/lib/red_amber/data_frame_displayable.rb +100 -51
- data/lib/red_amber/data_frame_indexable.rb +4 -4
- data/lib/red_amber/data_frame_reshaping.rb +1 -1
- data/lib/red_amber/data_frame_selectable.rb +1 -4
- data/lib/red_amber/data_frame_variable_operation.rb +7 -2
- data/lib/red_amber/group.rb +17 -18
- data/lib/red_amber/helper.rb +4 -4
- data/lib/red_amber/refinements.rb +15 -2
- data/lib/red_amber/subframes.rb +319 -191
- data/lib/red_amber/vector.rb +7 -30
- data/lib/red_amber/vector_binary_element_wise.rb +149 -1
- data/lib/red_amber/vector_selectable.rb +49 -12
- data/lib/red_amber/vector_unary_element_wise.rb +93 -0
- data/lib/red_amber/version.rb +1 -1
- data/red_amber.gemspec +3 -3
- metadata +16 -7
data/docker/Gemfile.lock
ADDED
@@ -0,0 +1,80 @@
|
|
1
|
+
GEM
|
2
|
+
remote: https://rubygems.org/
|
3
|
+
specs:
|
4
|
+
benchmark-ips (2.12.0)
|
5
|
+
benchmark_driver (0.16.3)
|
6
|
+
bigdecimal (3.1.4)
|
7
|
+
concurrent-ruby (1.2.2)
|
8
|
+
csv (3.2.6)
|
9
|
+
extpp (0.1.1)
|
10
|
+
faker (3.1.1)
|
11
|
+
i18n (>= 1.8.11, < 2)
|
12
|
+
fiddle (1.1.1)
|
13
|
+
gio2 (4.1.2)
|
14
|
+
fiddle
|
15
|
+
gobject-introspection (= 4.1.2)
|
16
|
+
glib2 (4.1.2)
|
17
|
+
native-package-installer (>= 1.0.3)
|
18
|
+
pkg-config (>= 1.3.5)
|
19
|
+
gobject-introspection (4.1.2)
|
20
|
+
glib2 (= 4.1.2)
|
21
|
+
i18n (1.12.0)
|
22
|
+
concurrent-ruby (~> 1.0)
|
23
|
+
io-console (0.6.0)
|
24
|
+
irb (1.6.3)
|
25
|
+
reline (>= 0.3.0)
|
26
|
+
libui (0.0.15)
|
27
|
+
native-package-installer (1.1.5)
|
28
|
+
numo-narray (0.9.2.1)
|
29
|
+
pkg-config (1.5.1)
|
30
|
+
red-amber-view (0.0.1)
|
31
|
+
libui
|
32
|
+
red-arrow
|
33
|
+
red_amber
|
34
|
+
red-arrow (11.0.0)
|
35
|
+
bigdecimal (>= 3.1.0)
|
36
|
+
extpp (>= 0.1.1)
|
37
|
+
gio2 (>= 3.5.0)
|
38
|
+
native-package-installer
|
39
|
+
pkg-config
|
40
|
+
red-arrow-numo-narray (0.0.6)
|
41
|
+
numo-narray
|
42
|
+
red-arrow
|
43
|
+
red-datasets (0.1.5)
|
44
|
+
csv (>= 3.2.4)
|
45
|
+
rexml
|
46
|
+
rubyzip
|
47
|
+
red-datasets-arrow (0.0.3)
|
48
|
+
red-arrow
|
49
|
+
red-datasets (>= 0.0.3)
|
50
|
+
red-parquet (11.0.0)
|
51
|
+
red-arrow (= 11.0.0)
|
52
|
+
red_amber (0.4.1)
|
53
|
+
red-arrow (~> 11.0.0)
|
54
|
+
reline (0.3.2)
|
55
|
+
io-console (~> 0.5)
|
56
|
+
rexml (3.2.5)
|
57
|
+
rover-df (0.3.4)
|
58
|
+
numo-narray (>= 0.9.1.9)
|
59
|
+
rubyzip (2.3.2)
|
60
|
+
|
61
|
+
PLATFORMS
|
62
|
+
x86_64-linux
|
63
|
+
|
64
|
+
DEPENDENCIES
|
65
|
+
benchmark-ips
|
66
|
+
benchmark_driver
|
67
|
+
faker
|
68
|
+
irb
|
69
|
+
numo-narray
|
70
|
+
red-amber-view
|
71
|
+
red-arrow (~> 11.0.0)
|
72
|
+
red-arrow-numo-narray
|
73
|
+
red-datasets
|
74
|
+
red-datasets-arrow
|
75
|
+
red-parquet (~> 11.0.0)
|
76
|
+
red_amber (>= 0.4.1)
|
77
|
+
rover-df
|
78
|
+
|
79
|
+
BUNDLED WITH
|
80
|
+
2.4.8
|
@@ -0,0 +1,21 @@
|
|
1
|
+
version: '3'
|
2
|
+
|
3
|
+
services:
|
4
|
+
minimal-redamber:
|
5
|
+
build:
|
6
|
+
context: .
|
7
|
+
dockerfile: Dockerfile
|
8
|
+
image: red_amber-minimal-notebook
|
9
|
+
container_name: red_amber-minimal-notebook
|
10
|
+
user: root
|
11
|
+
environment:
|
12
|
+
- GRANT_SUDO=yes
|
13
|
+
- NB_USER=$NB_USER
|
14
|
+
- CHOWN_HOME=yes
|
15
|
+
- TZ=$TZ
|
16
|
+
working_dir: /home/$NB_USER/work
|
17
|
+
ports:
|
18
|
+
- '8888:8888'
|
19
|
+
volumes:
|
20
|
+
- ./notebook:/home/$NB_USER/work
|
21
|
+
command: start-notebook.sh --NotebookApp.token=$TOKEN
|
data/docker/example
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
$stderr.print "starting.\r"
|
5
|
+
|
6
|
+
require 'bundler/setup'
|
7
|
+
|
8
|
+
$stderr.print "starting..\r"
|
9
|
+
require 'red_amber'
|
10
|
+
include RedAmber
|
11
|
+
|
12
|
+
$stderr.print "starting...\r"
|
13
|
+
require 'datasets-arrow'
|
14
|
+
|
15
|
+
$stderr.print "reading penguins...\r"
|
16
|
+
penguins = DataFrame.new(Datasets::Penguins.new)
|
17
|
+
|
18
|
+
$stderr.print "reading diamonds...\r"
|
19
|
+
diamonds = DataFrame.new(Datasets::Diamonds.new)
|
20
|
+
|
21
|
+
$stderr.print "reading starwars...\r"
|
22
|
+
starwars = DataFrame.new(Datasets::Rdataset.new('dplyr', 'starwars'))
|
23
|
+
|
24
|
+
$stderr.print "reading openintro/simpsons_paradox_covid...\r"
|
25
|
+
ds = Datasets::Rdataset.new('openintro', 'simpsons_paradox_covid')
|
26
|
+
simpsons_paradox_covid = DataFrame.new(ds.to_arrow)
|
27
|
+
|
28
|
+
$stderr.print "reading mtcars... \r"
|
29
|
+
mtcars = DataFrame.new(Datasets::Rdatasets.new('datasets', 'mtcars'))
|
30
|
+
|
31
|
+
$stderr.print "reading iris... \r"
|
32
|
+
iris = DataFrame.new(Datasets::Iris.new)
|
33
|
+
|
34
|
+
$stderr.print "reading band_members...\r"
|
35
|
+
band_members = DataFrame.new(Datasets::Rdatasets.new('dplyr', 'band_members'))
|
36
|
+
|
37
|
+
$stderr.print "reading band_instruments...\r"
|
38
|
+
band_instruments = DataFrame.new(Datasets::Rdatasets.new('dplyr', 'band_instruments'))
|
39
|
+
|
40
|
+
$stderr.print "reading band_instruments2...\r"
|
41
|
+
band_instruments2 = DataFrame.new(Datasets::Rdatasets.new('dplyr', 'band_instruments2'))
|
42
|
+
|
43
|
+
$stderr.print "reading import_cars... \r"
|
44
|
+
import_cars = DataFrame.load(Arrow::Buffer.new(<<~TSV), format: :tsv)
|
45
|
+
Year Audi BMW BMW_MINI Mercedes-Benz VW
|
46
|
+
2017 28336 52527 25427 68221 49040
|
47
|
+
2018 26473 50982 25984 67554 51961
|
48
|
+
2019 24222 46814 23813 66553 46794
|
49
|
+
2020 22304 35712 20196 57041 36576
|
50
|
+
2021 22535 35905 18211 51722 35215
|
51
|
+
TSV
|
52
|
+
|
53
|
+
$stderr.print "reading comecome... \r"
|
54
|
+
comecome = DataFrame.load(Arrow::Buffer.new(<<~CSV), format: :csv)
|
55
|
+
name,age
|
56
|
+
Yasuko,68
|
57
|
+
Rui,49
|
58
|
+
Hinata,28
|
59
|
+
CSV
|
60
|
+
|
61
|
+
$stderr.print "reading general dataframe and subframes...\r"
|
62
|
+
dataframe = DataFrame.new(
|
63
|
+
x: [*1..6],
|
64
|
+
y: %w[A A B B B C],
|
65
|
+
z: [false, true, false, nil, true, false]
|
66
|
+
)
|
67
|
+
subframes = SubFrames.new(dataframe, [[0, 1], [2, 3, 4], [5]])
|
68
|
+
|
69
|
+
# Welcome to RedAmber example!
|
70
|
+
# This environment will offer these pre-loaded datasets:
|
71
|
+
# penguins, diamonds, iris, starwars, simpsons_paradox_covid,
|
72
|
+
# mtcars, band_members, band_instruments, band_instruments2
|
73
|
+
# (original) import_cars, comecome, dataframe, subframes
|
74
|
+
binding.irb
|