red_amber 0.4.0 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|