red_amber 0.1.8 → 0.2.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 +3 -1
- data/CHANGELOG.md +71 -2
- data/Gemfile +1 -1
- data/README.md +58 -33
- data/doc/DataFrame.md +196 -55
- data/doc/Vector.md +5 -1
- data/doc/examples_of_red_amber.ipynb +1677 -348
- data/lib/red_amber/data_frame.rb +92 -15
- data/lib/red_amber/data_frame_displayable.rb +25 -10
- data/lib/red_amber/data_frame_reshaping.rb +85 -0
- data/lib/red_amber/data_frame_variable_operation.rb +89 -40
- data/lib/red_amber/group.rb +5 -1
- data/lib/red_amber/vector_functions.rb +46 -1
- data/lib/red_amber/vector_selectable.rb +1 -1
- data/lib/red_amber/version.rb +1 -1
- data/lib/red_amber.rb +1 -1
- data/red_amber.gemspec +1 -1
- metadata +5 -4
@@ -5,7 +5,7 @@
|
|
5
5
|
"id": "e355db8b-ebb6-4ea6-97b5-3b9fdadc302c",
|
6
6
|
"metadata": {},
|
7
7
|
"source": [
|
8
|
-
"#
|
8
|
+
"# 61 examples of Red Amber"
|
9
9
|
]
|
10
10
|
},
|
11
11
|
{
|
@@ -13,7 +13,7 @@
|
|
13
13
|
"id": "f20f4970-db38-4d96-9a36-d4cf9d007596",
|
14
14
|
"metadata": {},
|
15
15
|
"source": [
|
16
|
-
"Last update: August
|
16
|
+
"Last update: August 14, 2022, for RedAmber Version 0.2.0"
|
17
17
|
]
|
18
18
|
},
|
19
19
|
{
|
@@ -72,7 +72,7 @@
|
|
72
72
|
{
|
73
73
|
"data": {
|
74
74
|
"text/plain": [
|
75
|
-
"
|
75
|
+
"{:RedAmber=>\"0.2.0\", :Arrow=>\"9.0.0\"}"
|
76
76
|
]
|
77
77
|
},
|
78
78
|
"execution_count": 1,
|
@@ -83,7 +83,7 @@
|
|
83
83
|
"source": [
|
84
84
|
"require 'red_amber' # require 'red-amber' is also OK\n",
|
85
85
|
"include RedAmber\n",
|
86
|
-
"VERSION"
|
86
|
+
"{RedAmber: VERSION, Arrow: Arrow::VERSION}"
|
87
87
|
]
|
88
88
|
},
|
89
89
|
{
|
@@ -108,7 +108,7 @@
|
|
108
108
|
"RedAmber::DataFrame <3 x 2 vectors> <table><tr><th>x</th><th>y</th></tr><tr><td>1</td><td>A</td></tr><tr><td>2</td><td>B</td></tr><tr><td>3</td><td>C</td></tr></table>"
|
109
109
|
],
|
110
110
|
"text/plain": [
|
111
|
-
"#<RedAmber::DataFrame : 3 x 2 Vectors,
|
111
|
+
"#<RedAmber::DataFrame : 3 x 2 Vectors, 0x000000000000f154>\n",
|
112
112
|
" x y\n",
|
113
113
|
" <uint8> <string>\n",
|
114
114
|
"1 1 A\n",
|
@@ -138,7 +138,7 @@
|
|
138
138
|
"RedAmber::DataFrame <3 x 2 vectors> <table><tr><th>x</th><th>y</th></tr><tr><td>1</td><td>A</td></tr><tr><td>2</td><td>B</td></tr><tr><td>3</td><td>C</td></tr></table>"
|
139
139
|
],
|
140
140
|
"text/plain": [
|
141
|
-
"#<RedAmber::DataFrame : 3 x 2 Vectors,
|
141
|
+
"#<RedAmber::DataFrame : 3 x 2 Vectors, 0x000000000000f168>\n",
|
142
142
|
" x y\n",
|
143
143
|
" <uint8> <string>\n",
|
144
144
|
"1 1 A\n",
|
@@ -152,7 +152,7 @@
|
|
152
152
|
}
|
153
153
|
],
|
154
154
|
"source": [
|
155
|
-
"# From a schema and a
|
155
|
+
"# From a schema and a row-oriented array\n",
|
156
156
|
"DataFrame.new({ x: :uint8, y: :string }, [[1, 'A'], [2, 'B'], [3, 'C']])"
|
157
157
|
]
|
158
158
|
},
|
@@ -168,7 +168,7 @@
|
|
168
168
|
"RedAmber::DataFrame <3 x 2 vectors> <table><tr><th>x</th><th>y</th></tr><tr><td>1</td><td>A</td></tr><tr><td>2</td><td>B</td></tr><tr><td>3</td><td>C</td></tr></table>"
|
169
169
|
],
|
170
170
|
"text/plain": [
|
171
|
-
"#<RedAmber::DataFrame : 3 x 2 Vectors,
|
171
|
+
"#<RedAmber::DataFrame : 3 x 2 Vectors, 0x000000000000f17c>\n",
|
172
172
|
" x y\n",
|
173
173
|
" <uint8> <string>\n",
|
174
174
|
"1 1 A\n",
|
@@ -182,7 +182,7 @@
|
|
182
182
|
}
|
183
183
|
],
|
184
184
|
"source": [
|
185
|
-
"# From
|
185
|
+
"# From an Arrow::Table\n",
|
186
186
|
"table = Arrow::Table.new(x: [1, 2, 3], y: %w[A B C])\n",
|
187
187
|
"DataFrame.new(table)"
|
188
188
|
]
|
@@ -199,7 +199,7 @@
|
|
199
199
|
"RedAmber::DataFrame <3 x 2 vectors> <table><tr><th>x</th><th>y</th></tr><tr><td>1</td><td>A</td></tr><tr><td>2</td><td>B</td></tr><tr><td>3</td><td>C</td></tr></table>"
|
200
200
|
],
|
201
201
|
"text/plain": [
|
202
|
-
"#<RedAmber::DataFrame : 3 x 2 Vectors,
|
202
|
+
"#<RedAmber::DataFrame : 3 x 2 Vectors, 0x000000000000f2a8>\n",
|
203
203
|
" x y\n",
|
204
204
|
" <uint8> <string>\n",
|
205
205
|
"1 1 A\n",
|
@@ -231,7 +231,7 @@
|
|
231
231
|
"RedAmber::DataFrame <344 x 8 vectors> <table><tr><th>species</th><th>island</th><th>bill_length_mm</th><th>bill_depth_mm</th><th>flipper_length_mm</th><th>body_mass_g</th><th>sex</th><th>year</th></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.1</td><td>18.7</td><td>181</td><td>3750</td><td>male</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.5</td><td>17.4</td><td>186</td><td>3800</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>40.3</td><td>18.0</td><td>195</td><td>3250</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td>2007</td></tr><tr><td colspan='8'>⋮</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>50.4</td><td>15.7</td><td>222</td><td>5750</td><td>male</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>45.2</td><td>14.8</td><td>212</td><td>5200</td><td>female</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>49.9</td><td>16.1</td><td>213</td><td>5400</td><td>male</td><td>2009</td></tr></table>"
|
232
232
|
],
|
233
233
|
"text/plain": [
|
234
|
-
"#<RedAmber::DataFrame : 344 x 8 Vectors,
|
234
|
+
"#<RedAmber::DataFrame : 344 x 8 Vectors, 0x000000000000f2bc>\n",
|
235
235
|
" species island bill_length_mm bill_depth_mm flipper_length_mm ... year\n",
|
236
236
|
" <string> <string> <double> <double> <uint8> ... <uint16>\n",
|
237
237
|
" 1 Adelie Torgersen 39.1 18.7 181 ... 2007\n",
|
@@ -262,7 +262,7 @@
|
|
262
262
|
"id": "3a2d12b4-7623-42c7-9e32-76cf303c7cea",
|
263
263
|
"metadata": {},
|
264
264
|
"source": [
|
265
|
-
"It should be in future version;\n",
|
265
|
+
"It should be in the future version;\n",
|
266
266
|
"```ruby\n",
|
267
267
|
"require 'datasets-red-amber'\n",
|
268
268
|
"penguins = Datasets::Penguins.new.to_red_amber\n",
|
@@ -281,18 +281,18 @@
|
|
281
281
|
"RedAmber::DataFrame <32 x 11 vectors> <table><tr><th>mpg</th><th>cyl</th><th>disp</th><th>hp</th><th>drat</th><th>wt</th><th>qsec</th><th>vs</th><th>am</th><th>gear</th><th>carb</th></tr><tr><td>21.0</td><td>6</td><td>160.0</td><td>110</td><td>3.9</td><td>2.62</td><td>16.46</td><td>0</td><td>1</td><td>4</td><td>4</td></tr><tr><td>21.0</td><td>6</td><td>160.0</td><td>110</td><td>3.9</td><td>2.875</td><td>17.02</td><td>0</td><td>1</td><td>4</td><td>4</td></tr><tr><td>22.8</td><td>4</td><td>108.0</td><td>93</td><td>3.85</td><td>2.32</td><td>18.61</td><td>1</td><td>1</td><td>4</td><td>1</td></tr><tr><td>21.4</td><td>6</td><td>258.0</td><td>110</td><td>3.08</td><td>3.215</td><td>19.44</td><td>1</td><td>0</td><td>3</td><td>1</td></tr><tr><td colspan='11'>⋮</td></tr><tr><td>19.7</td><td>6</td><td>145.0</td><td>175</td><td>3.62</td><td>2.77</td><td>15.5</td><td>0</td><td>1</td><td>5</td><td>6</td></tr><tr><td>15.0</td><td>8</td><td>301.0</td><td>335</td><td>3.54</td><td>3.57</td><td>14.6</td><td>0</td><td>1</td><td>5</td><td>8</td></tr><tr><td>21.4</td><td>4</td><td>121.0</td><td>109</td><td>4.11</td><td>2.78</td><td>18.6</td><td>1</td><td>1</td><td>4</td><td>2</td></tr></table>"
|
282
282
|
],
|
283
283
|
"text/plain": [
|
284
|
-
"#<RedAmber::DataFrame : 32 x 11 Vectors,
|
284
|
+
"#<RedAmber::DataFrame : 32 x 11 Vectors, 0x000000000000f2d0>\n",
|
285
285
|
" mpg cyl disp hp drat wt qsec vs am ... carb\n",
|
286
286
|
" <double> <uint8> <double> <uint16> <double> <double> <double> <uint8> <uint8> ... <uint8>\n",
|
287
|
-
" 1 21.0 6 160.0 110 3.9
|
288
|
-
" 2 21.0 6 160.0 110 3.9
|
289
|
-
" 3 22.8 4 108.0 93
|
290
|
-
" 4 21.4 6 258.0 110
|
291
|
-
" 5 18.7 8 360.0 175
|
287
|
+
" 1 21.0 6 160.0 110 3.9 2.62 16.46 0 1 ... 4\n",
|
288
|
+
" 2 21.0 6 160.0 110 3.9 2.88 17.02 0 1 ... 4\n",
|
289
|
+
" 3 22.8 4 108.0 93 3.85 2.32 18.61 1 1 ... 1\n",
|
290
|
+
" 4 21.4 6 258.0 110 3.08 3.22 19.44 1 0 ... 1\n",
|
291
|
+
" 5 18.7 8 360.0 175 3.15 3.44 17.02 0 0 ... 2\n",
|
292
292
|
" : : : : : : : : : : ... :\n",
|
293
|
-
"30 19.7 6 145.0 175
|
294
|
-
"31 15.0 8 301.0 335
|
295
|
-
"32 21.4 4 121.0 109
|
293
|
+
"30 19.7 6 145.0 175 3.62 2.77 15.5 0 1 ... 6\n",
|
294
|
+
"31 15.0 8 301.0 335 3.54 3.57 14.6 0 1 ... 8\n",
|
295
|
+
"32 21.4 4 121.0 109 4.11 2.78 18.6 1 1 ... 2\n"
|
296
296
|
]
|
297
297
|
},
|
298
298
|
"execution_count": 7,
|
@@ -333,7 +333,7 @@
|
|
333
333
|
"RedAmber::DataFrame <3 x 2 vectors> <table><tr><th>name</th><th>age</th></tr><tr><td>Yasuko</td><td>68</td></tr><tr><td>Rui</td><td>49</td></tr><tr><td>Hinata</td><td>28</td></tr></table>"
|
334
334
|
],
|
335
335
|
"text/plain": [
|
336
|
-
"#<RedAmber::DataFrame : 3 x 2 Vectors,
|
336
|
+
"#<RedAmber::DataFrame : 3 x 2 Vectors, 0x000000000000f2e4>\n",
|
337
337
|
" name age\n",
|
338
338
|
" <string> <int64>\n",
|
339
339
|
"1 Yasuko 68\n",
|
@@ -347,7 +347,7 @@
|
|
347
347
|
}
|
348
348
|
],
|
349
349
|
"source": [
|
350
|
-
"DataFrame.load(\"test/entity/with_header.csv\")"
|
350
|
+
"DataFrame.load(\"../test/entity/with_header.csv\")"
|
351
351
|
]
|
352
352
|
},
|
353
353
|
{
|
@@ -370,7 +370,7 @@
|
|
370
370
|
"RedAmber::DataFrame <344 x 7 vectors> <table><tr><th>species</th><th>island</th><th>bill_length_mm</th><th>bill_depth_mm</th><th>flipper_length_mm</th><th>body_mass_g</th><th>sex</th></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.1</td><td>18.7</td><td>181</td><td>3750</td><td>MALE</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.5</td><td>17.4</td><td>186</td><td>3800</td><td>FEMALE</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>40.3</td><td>18.0</td><td>195</td><td>3250</td><td>FEMALE</td></tr><tr><td>Adelie</td><td>Torgersen</td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td></td></tr><tr><td colspan='7'>⋮</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>50.4</td><td>15.7</td><td>222</td><td>5750</td><td>MALE</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>45.2</td><td>14.8</td><td>212</td><td>5200</td><td>FEMALE</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>49.9</td><td>16.1</td><td>213</td><td>5400</td><td>MALE</td></tr></table>"
|
371
371
|
],
|
372
372
|
"text/plain": [
|
373
|
-
"#<RedAmber::DataFrame : 344 x 7 Vectors,
|
373
|
+
"#<RedAmber::DataFrame : 344 x 7 Vectors, 0x000000000000f2f8>\n",
|
374
374
|
" species island bill_length_mm bill_depth_mm flipper_length_mm ... sex\n",
|
375
375
|
" <string> <string> <double> <double> <int64> ... <string>\n",
|
376
376
|
" 1 Adelie Torgersen 39.1 18.7 181 ... MALE\n",
|
@@ -456,7 +456,7 @@
|
|
456
456
|
"name": "stdout",
|
457
457
|
"output_type": "stream",
|
458
458
|
"text": [
|
459
|
-
"#<RedAmber::DataFrame : 5 x 4 Vectors,
|
459
|
+
"#<RedAmber::DataFrame : 5 x 4 Vectors, 0x000000000000f30c>\n",
|
460
460
|
" x y s b\n",
|
461
461
|
" <uint8> <double> <string> <boolean>\n",
|
462
462
|
"1 1 1.0 A true\n",
|
@@ -487,7 +487,7 @@
|
|
487
487
|
"name": "stdout",
|
488
488
|
"output_type": "stream",
|
489
489
|
"text": [
|
490
|
-
"#<RedAmber::DataFrame : 344 x 8 Vectors,
|
490
|
+
"#<RedAmber::DataFrame : 344 x 8 Vectors, 0x000000000000f2bc>\n",
|
491
491
|
" species island bill_length_mm bill_depth_mm flipper_length_mm ... year\n",
|
492
492
|
" <string> <string> <double> <double> <uint8> ... <uint16>\n",
|
493
493
|
" 1 Adelie Torgersen 39.1 18.7 181 ... 2007\n",
|
@@ -524,7 +524,7 @@
|
|
524
524
|
{
|
525
525
|
"data": {
|
526
526
|
"text/plain": [
|
527
|
-
"#<Arrow::Table:
|
527
|
+
"#<Arrow::Table:0x7f54b8433320 ptr=0x55d81a4486e0>\n",
|
528
528
|
"\tx\t y\ts\tb\n",
|
529
529
|
"0\t1\t 1.000000\tA\ttrue\n",
|
530
530
|
"1\t2\t 2.000000\tB\tfalse\n",
|
@@ -551,7 +551,7 @@
|
|
551
551
|
{
|
552
552
|
"data": {
|
553
553
|
"text/plain": [
|
554
|
-
"#<Arrow::Table:
|
554
|
+
"#<Arrow::Table:0x7f54b849dec8 ptr=0x55d81ac6f650>\n",
|
555
555
|
"\tspecies\tisland\tbill_length_mm\tbill_depth_mm\tflipper_length_mm\tbody_mass_g\tsex\tyear\n",
|
556
556
|
" 0\tAdelie \tTorgersen\t 39.100000\t 18.700000\t 181\t 3750\tmale\t2007\n",
|
557
557
|
" 1\tAdelie \tTorgersen\t 39.500000\t 17.400000\t 186\t 3800\tfemale\t2007\n",
|
@@ -1276,7 +1276,7 @@
|
|
1276
1276
|
{
|
1277
1277
|
"data": {
|
1278
1278
|
"text/plain": [
|
1279
|
-
"#<RedAmber::Vector(:uint8, size=5):
|
1279
|
+
"#<RedAmber::Vector(:uint8, size=5):0x000000000000f320>\n",
|
1280
1280
|
"[1, 2, 3, 4, 5]\n"
|
1281
1281
|
]
|
1282
1282
|
},
|
@@ -1306,7 +1306,7 @@
|
|
1306
1306
|
{
|
1307
1307
|
"data": {
|
1308
1308
|
"text/plain": [
|
1309
|
-
"#<RedAmber::Vector(:uint8, size=5):
|
1309
|
+
"#<RedAmber::Vector(:uint8, size=5):0x000000000000f334>\n",
|
1310
1310
|
"[1, 2, 3, 4, 5]\n"
|
1311
1311
|
]
|
1312
1312
|
},
|
@@ -1328,7 +1328,7 @@
|
|
1328
1328
|
{
|
1329
1329
|
"data": {
|
1330
1330
|
"text/plain": [
|
1331
|
-
"#<RedAmber::Vector(:uint8, size=5):
|
1331
|
+
"#<RedAmber::Vector(:uint8, size=5):0x000000000000f348>\n",
|
1332
1332
|
"[1, 2, 3, 4, 5]\n"
|
1333
1333
|
]
|
1334
1334
|
},
|
@@ -1350,7 +1350,7 @@
|
|
1350
1350
|
{
|
1351
1351
|
"data": {
|
1352
1352
|
"text/plain": [
|
1353
|
-
"#<RedAmber::Vector(:uint8, size=5):
|
1353
|
+
"#<RedAmber::Vector(:uint8, size=5):0x000000000000f35c>\n",
|
1354
1354
|
"[1, 2, 3, 4, 5]\n"
|
1355
1355
|
]
|
1356
1356
|
},
|
@@ -1372,7 +1372,7 @@
|
|
1372
1372
|
{
|
1373
1373
|
"data": {
|
1374
1374
|
"text/plain": [
|
1375
|
-
"#<RedAmber::Vector(:uint8, size=5):
|
1375
|
+
"#<RedAmber::Vector(:uint8, size=5):0x000000000000f370>\n",
|
1376
1376
|
"[1, 2, 3, 4, 5]\n"
|
1377
1377
|
]
|
1378
1378
|
},
|
@@ -1419,13 +1419,13 @@
|
|
1419
1419
|
{
|
1420
1420
|
"data": {
|
1421
1421
|
"text/plain": [
|
1422
|
-
"[#<RedAmber::Vector(:uint8, size=5):
|
1422
|
+
"[#<RedAmber::Vector(:uint8, size=5):0x000000000000f320>\n",
|
1423
1423
|
"[1, 2, 3, 4, 5]\n",
|
1424
|
-
", #<RedAmber::Vector(:double, size=5):
|
1424
|
+
", #<RedAmber::Vector(:double, size=5):0x000000000000f384>\n",
|
1425
1425
|
"[1.0, 2.0, 3.0, NaN, nil]\n",
|
1426
|
-
", #<RedAmber::Vector(:string, size=5):
|
1426
|
+
", #<RedAmber::Vector(:string, size=5):0x000000000000f398>\n",
|
1427
1427
|
"[\"A\", \"B\", \"C\", \"D\", nil]\n",
|
1428
|
-
", #<RedAmber::Vector(:boolean, size=5):
|
1428
|
+
", #<RedAmber::Vector(:boolean, size=5):0x000000000000f3ac>\n",
|
1429
1429
|
"[true, false, true, false, nil]\n",
|
1430
1430
|
"]"
|
1431
1431
|
]
|
@@ -1460,13 +1460,13 @@
|
|
1460
1460
|
{
|
1461
1461
|
"data": {
|
1462
1462
|
"text/plain": [
|
1463
|
-
"{:x=>#<RedAmber::Vector(:uint8, size=5):
|
1463
|
+
"{:x=>#<RedAmber::Vector(:uint8, size=5):0x000000000000f320>\n",
|
1464
1464
|
"[1, 2, 3, 4, 5]\n",
|
1465
|
-
", :y=>#<RedAmber::Vector(:double, size=5):
|
1465
|
+
", :y=>#<RedAmber::Vector(:double, size=5):0x000000000000f384>\n",
|
1466
1466
|
"[1.0, 2.0, 3.0, NaN, nil]\n",
|
1467
|
-
", :s=>#<RedAmber::Vector(:string, size=5):
|
1467
|
+
", :s=>#<RedAmber::Vector(:string, size=5):0x000000000000f398>\n",
|
1468
1468
|
"[\"A\", \"B\", \"C\", \"D\", nil]\n",
|
1469
|
-
", :b=>#<RedAmber::Vector(:boolean, size=5):
|
1469
|
+
", :b=>#<RedAmber::Vector(:boolean, size=5):0x000000000000f3ac>\n",
|
1470
1470
|
"[true, false, true, false, nil]\n",
|
1471
1471
|
"}"
|
1472
1472
|
]
|
@@ -1514,7 +1514,7 @@
|
|
1514
1514
|
"RedAmber::DataFrame <5 x 2 vectors> <table><tr><th>x</th><th>y</th></tr><tr><td>1</td><td>1.0</td></tr><tr><td>2</td><td>2.0</td></tr><tr><td>3</td><td>3.0</td></tr><tr><td>4</td><td>NaN</td></tr><tr><td>5</td><td><i>(nil)</i></td></tr></table>"
|
1515
1515
|
],
|
1516
1516
|
"text/plain": [
|
1517
|
-
"#<RedAmber::DataFrame : 5 x 2 Vectors,
|
1517
|
+
"#<RedAmber::DataFrame : 5 x 2 Vectors, 0x000000000000f3c0>\n",
|
1518
1518
|
" x y\n",
|
1519
1519
|
" <uint8> <double>\n",
|
1520
1520
|
"1 1 1.0\n",
|
@@ -1546,7 +1546,7 @@
|
|
1546
1546
|
"RedAmber::DataFrame <5 x 2 vectors> <table><tr><th>x</th><th>y</th></tr><tr><td>1</td><td>1.0</td></tr><tr><td>2</td><td>2.0</td></tr><tr><td>3</td><td>3.0</td></tr><tr><td>4</td><td>NaN</td></tr><tr><td>5</td><td><i>(nil)</i></td></tr></table>"
|
1547
1547
|
],
|
1548
1548
|
"text/plain": [
|
1549
|
-
"#<RedAmber::DataFrame : 5 x 2 Vectors,
|
1549
|
+
"#<RedAmber::DataFrame : 5 x 2 Vectors, 0x000000000000f3d4>\n",
|
1550
1550
|
" x y\n",
|
1551
1551
|
" <uint8> <double>\n",
|
1552
1552
|
"1 1 1.0\n",
|
@@ -1578,7 +1578,7 @@
|
|
1578
1578
|
"RedAmber::DataFrame <5 x 3 vectors> <table><tr><th>s</th><th>b</th><th>x</th></tr><tr><td>A</td><td>true</td><td>1</td></tr><tr><td>B</td><td>false</td><td>2</td></tr><tr><td>C</td><td>true</td><td>3</td></tr><tr><td>D</td><td>false</td><td>4</td></tr><tr><td><i>(nil)</i></td><td><i>(nil)</i></td><td>5</td></tr></table>"
|
1579
1579
|
],
|
1580
1580
|
"text/plain": [
|
1581
|
-
"#<RedAmber::DataFrame : 5 x 3 Vectors,
|
1581
|
+
"#<RedAmber::DataFrame : 5 x 3 Vectors, 0x000000000000f3e8>\n",
|
1582
1582
|
" s b x\n",
|
1583
1583
|
" <string> <boolean> <uint8>\n",
|
1584
1584
|
"1 A true 1\n",
|
@@ -1625,7 +1625,7 @@
|
|
1625
1625
|
"RedAmber::DataFrame <3 x 4 vectors> <table><tr><th>x</th><th>y</th><th>s</th><th>b</th></tr><tr><td>1</td><td>1.0</td><td>A</td><td>true</td></tr><tr><td>3</td><td>3.0</td><td>C</td><td>true</td></tr><tr><td>2</td><td>2.0</td><td>B</td><td>false</td></tr></table>"
|
1626
1626
|
],
|
1627
1627
|
"text/plain": [
|
1628
|
-
"#<RedAmber::DataFrame : 3 x 4 Vectors,
|
1628
|
+
"#<RedAmber::DataFrame : 3 x 4 Vectors, 0x000000000000f3fc>\n",
|
1629
1629
|
" x y s b\n",
|
1630
1630
|
" <uint8> <double> <string> <boolean>\n",
|
1631
1631
|
"1 1 1.0 A true\n",
|
@@ -1655,7 +1655,7 @@
|
|
1655
1655
|
"RedAmber::DataFrame <3 x 4 vectors> <table><tr><th>x</th><th>y</th><th>s</th><th>b</th></tr><tr><td>2</td><td>2.0</td><td>B</td><td>false</td></tr><tr><td>3</td><td>3.0</td><td>C</td><td>true</td></tr><tr><td>5</td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td></tr></table>"
|
1656
1656
|
],
|
1657
1657
|
"text/plain": [
|
1658
|
-
"#<RedAmber::DataFrame : 3 x 4 Vectors,
|
1658
|
+
"#<RedAmber::DataFrame : 3 x 4 Vectors, 0x000000000000f410>\n",
|
1659
1659
|
" x y s b\n",
|
1660
1660
|
" <uint8> <double> <string> <boolean>\n",
|
1661
1661
|
"1 2 2.0 B false\n",
|
@@ -1686,7 +1686,7 @@
|
|
1686
1686
|
"RedAmber::DataFrame <3 x 4 vectors> <table><tr><th>x</th><th>y</th><th>s</th><th>b</th></tr><tr><td>2</td><td>2.0</td><td>B</td><td>false</td></tr><tr><td>3</td><td>3.0</td><td>C</td><td>true</td></tr><tr><td>5</td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td></tr></table>"
|
1687
1687
|
],
|
1688
1688
|
"text/plain": [
|
1689
|
-
"#<RedAmber::DataFrame : 3 x 4 Vectors,
|
1689
|
+
"#<RedAmber::DataFrame : 3 x 4 Vectors, 0x000000000000f424>\n",
|
1690
1690
|
" x y s b\n",
|
1691
1691
|
" <uint8> <double> <string> <boolean>\n",
|
1692
1692
|
"1 2 2.0 B false\n",
|
@@ -1717,7 +1717,7 @@
|
|
1717
1717
|
"RedAmber::DataFrame <3 x 4 vectors> <table><tr><th>x</th><th>y</th><th>s</th><th>b</th></tr><tr><td>1</td><td>1.0</td><td>A</td><td>true</td></tr><tr><td>3</td><td>3.0</td><td>C</td><td>true</td></tr><tr><td>5</td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td></tr></table>"
|
1718
1718
|
],
|
1719
1719
|
"text/plain": [
|
1720
|
-
"#<RedAmber::DataFrame : 3 x 4 Vectors,
|
1720
|
+
"#<RedAmber::DataFrame : 3 x 4 Vectors, 0x000000000000f438>\n",
|
1721
1721
|
" x y s b\n",
|
1722
1722
|
" <uint8> <double> <string> <boolean>\n",
|
1723
1723
|
"1 1 1.0 A true\n",
|
@@ -1748,7 +1748,7 @@
|
|
1748
1748
|
"RedAmber::DataFrame <3 x 4 vectors> <table><tr><th>x</th><th>y</th><th>s</th><th>b</th></tr><tr><td>3</td><td>3.0</td><td>C</td><td>true</td></tr><tr><td>4</td><td>NaN</td><td>D</td><td>false</td></tr><tr><td>5</td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td></tr></table>"
|
1749
1749
|
],
|
1750
1750
|
"text/plain": [
|
1751
|
-
"#<RedAmber::DataFrame : 3 x 4 Vectors,
|
1751
|
+
"#<RedAmber::DataFrame : 3 x 4 Vectors, 0x000000000000f44c>\n",
|
1752
1752
|
" x y s b\n",
|
1753
1753
|
" <uint8> <double> <string> <boolean>\n",
|
1754
1754
|
"1 3 3.0 C true\n",
|
@@ -1777,7 +1777,7 @@
|
|
1777
1777
|
{
|
1778
1778
|
"data": {
|
1779
1779
|
"text/plain": [
|
1780
|
-
"#<RedAmber::Vector(:boolean, size=5):
|
1780
|
+
"#<RedAmber::Vector(:boolean, size=5):0x000000000000f3ac>\n",
|
1781
1781
|
"[true, false, true, false, nil]\n"
|
1782
1782
|
]
|
1783
1783
|
},
|
@@ -1803,7 +1803,7 @@
|
|
1803
1803
|
"RedAmber::DataFrame <2 x 4 vectors> <table><tr><th>x</th><th>y</th><th>s</th><th>b</th></tr><tr><td>1</td><td>1.0</td><td>A</td><td>true</td></tr><tr><td>3</td><td>3.0</td><td>C</td><td>true</td></tr></table>"
|
1804
1804
|
],
|
1805
1805
|
"text/plain": [
|
1806
|
-
"#<RedAmber::DataFrame : 2 x 4 Vectors,
|
1806
|
+
"#<RedAmber::DataFrame : 2 x 4 Vectors, 0x000000000000f460>\n",
|
1807
1807
|
" x y s b\n",
|
1808
1808
|
" <uint8> <double> <string> <boolean>\n",
|
1809
1809
|
"1 1 1.0 A true\n",
|
@@ -1905,7 +1905,7 @@
|
|
1905
1905
|
"tags": []
|
1906
1906
|
},
|
1907
1907
|
"source": [
|
1908
|
-
"`DataFrame#pick` accepts an Array of keys to pick up columns (variables). You can change the order of columns at a same time."
|
1908
|
+
"`DataFrame#pick` accepts an Array of keys to pick up columns (variables) and creates a new DataFrame. You can change the order of columns at a same time."
|
1909
1909
|
]
|
1910
1910
|
},
|
1911
1911
|
{
|
@@ -1922,7 +1922,7 @@
|
|
1922
1922
|
"RedAmber::DataFrame <5 x 2 vectors> <table><tr><th>s</th><th>y</th></tr><tr><td>A</td><td>1.0</td></tr><tr><td>B</td><td>2.0</td></tr><tr><td>C</td><td>3.0</td></tr><tr><td>D</td><td>NaN</td></tr><tr><td><i>(nil)</i></td><td><i>(nil)</i></td></tr></table>"
|
1923
1923
|
],
|
1924
1924
|
"text/plain": [
|
1925
|
-
"#<RedAmber::DataFrame : 5 x 2 Vectors,
|
1925
|
+
"#<RedAmber::DataFrame : 5 x 2 Vectors, 0x000000000000f474>\n",
|
1926
1926
|
" s y\n",
|
1927
1927
|
" <string> <double>\n",
|
1928
1928
|
"1 A 1.0\n",
|
@@ -1963,7 +1963,7 @@
|
|
1963
1963
|
"RedAmber::DataFrame <5 x 2 vectors> <table><tr><th>y</th><th>s</th></tr><tr><td>1.0</td><td>A</td></tr><tr><td>2.0</td><td>B</td></tr><tr><td>3.0</td><td>C</td></tr><tr><td>NaN</td><td>D</td></tr><tr><td><i>(nil)</i></td><td><i>(nil)</i></td></tr></table>"
|
1964
1964
|
],
|
1965
1965
|
"text/plain": [
|
1966
|
-
"#<RedAmber::DataFrame : 5 x 2 Vectors,
|
1966
|
+
"#<RedAmber::DataFrame : 5 x 2 Vectors, 0x000000000000f488>\n",
|
1967
1967
|
" y s\n",
|
1968
1968
|
" <double> <string>\n",
|
1969
1969
|
"1 1.0 A\n",
|
@@ -2006,7 +2006,7 @@
|
|
2006
2006
|
"RedAmber::DataFrame <5 x 2 vectors> <table><tr><th>x</th><th>y</th></tr><tr><td>1</td><td>1.0</td></tr><tr><td>2</td><td>2.0</td></tr><tr><td>3</td><td>3.0</td></tr><tr><td>4</td><td>NaN</td></tr><tr><td>5</td><td><i>(nil)</i></td></tr></table>"
|
2007
2007
|
],
|
2008
2008
|
"text/plain": [
|
2009
|
-
"#<RedAmber::DataFrame : 5 x 2 Vectors,
|
2009
|
+
"#<RedAmber::DataFrame : 5 x 2 Vectors, 0x000000000000f49c>\n",
|
2010
2010
|
" x y\n",
|
2011
2011
|
" <uint8> <double>\n",
|
2012
2012
|
"1 1 1.0\n",
|
@@ -2052,7 +2052,7 @@
|
|
2052
2052
|
"tags": []
|
2053
2053
|
},
|
2054
2054
|
"source": [
|
2055
|
-
"`DataFrame#drop` accepts an Array keys to drop columns (variables) to create remainer DataFrame."
|
2055
|
+
"`DataFrame#drop` accepts an Array keys to drop columns (variables) to create a remainer DataFrame."
|
2056
2056
|
]
|
2057
2057
|
},
|
2058
2058
|
{
|
@@ -2067,7 +2067,7 @@
|
|
2067
2067
|
"RedAmber::DataFrame <5 x 2 vectors> <table><tr><th>y</th><th>s</th></tr><tr><td>1.0</td><td>A</td></tr><tr><td>2.0</td><td>B</td></tr><tr><td>3.0</td><td>C</td></tr><tr><td>NaN</td><td>D</td></tr><tr><td><i>(nil)</i></td><td><i>(nil)</i></td></tr></table>"
|
2068
2068
|
],
|
2069
2069
|
"text/plain": [
|
2070
|
-
"#<RedAmber::DataFrame : 5 x 2 Vectors,
|
2070
|
+
"#<RedAmber::DataFrame : 5 x 2 Vectors, 0x000000000000f4b0>\n",
|
2071
2071
|
" y s\n",
|
2072
2072
|
" <double> <string>\n",
|
2073
2073
|
"1 1.0 A\n",
|
@@ -2107,7 +2107,7 @@
|
|
2107
2107
|
"RedAmber::DataFrame <5 x 2 vectors> <table><tr><th>y</th><th>s</th></tr><tr><td>1.0</td><td>A</td></tr><tr><td>2.0</td><td>B</td></tr><tr><td>3.0</td><td>C</td></tr><tr><td>NaN</td><td>D</td></tr><tr><td><i>(nil)</i></td><td><i>(nil)</i></td></tr></table>"
|
2108
2108
|
],
|
2109
2109
|
"text/plain": [
|
2110
|
-
"#<RedAmber::DataFrame : 5 x 2 Vectors,
|
2110
|
+
"#<RedAmber::DataFrame : 5 x 2 Vectors, 0x000000000000f4c4>\n",
|
2111
2111
|
" y s\n",
|
2112
2112
|
" <double> <string>\n",
|
2113
2113
|
"1 1.0 A\n",
|
@@ -2149,7 +2149,7 @@
|
|
2149
2149
|
"RedAmber::DataFrame <5 x 1 vector> <table><tr><th>x</th></tr><tr><td>1</td></tr><tr><td>2</td></tr><tr><td>3</td></tr><tr><td>4</td></tr><tr><td>5</td></tr></table>"
|
2150
2150
|
],
|
2151
2151
|
"text/plain": [
|
2152
|
-
"#<RedAmber::DataFrame : 5 x 1 Vector,
|
2152
|
+
"#<RedAmber::DataFrame : 5 x 1 Vector, 0x000000000000f4d8>\n",
|
2153
2153
|
" x\n",
|
2154
2154
|
" <uint8>\n",
|
2155
2155
|
"1 1\n",
|
@@ -2188,7 +2188,7 @@
|
|
2188
2188
|
"RedAmber::DataFrame <5 x 1 vector> <table><tr><th>x</th></tr><tr><td>1</td></tr><tr><td>2</td></tr><tr><td>3</td></tr><tr><td>4</td></tr><tr><td>5</td></tr></table>"
|
2189
2189
|
],
|
2190
2190
|
"text/plain": [
|
2191
|
-
"#<RedAmber::DataFrame : 5 x 1 Vector,
|
2191
|
+
"#<RedAmber::DataFrame : 5 x 1 Vector, 0x000000000000f4ec>\n",
|
2192
2192
|
" x\n",
|
2193
2193
|
" <uint8>\n",
|
2194
2194
|
"1 1\n",
|
@@ -2259,7 +2259,9 @@
|
|
2259
2259
|
"id": "12a24264-9b7a-42a1-a541-e292e3876e35",
|
2260
2260
|
"metadata": {},
|
2261
2261
|
"source": [
|
2262
|
-
"## 26. Vector#invert, #primitive_invert"
|
2262
|
+
"## 26. Vector#invert, #primitive_invert\n",
|
2263
|
+
"\n",
|
2264
|
+
"For the boolean Vector;"
|
2263
2265
|
]
|
2264
2266
|
},
|
2265
2267
|
{
|
@@ -2271,7 +2273,7 @@
|
|
2271
2273
|
{
|
2272
2274
|
"data": {
|
2273
2275
|
"text/plain": [
|
2274
|
-
"#<RedAmber::Vector(:boolean, size=4):
|
2276
|
+
"#<RedAmber::Vector(:boolean, size=4):0x000000000000f500>\n",
|
2275
2277
|
"[true, true, false, nil]\n"
|
2276
2278
|
]
|
2277
2279
|
},
|
@@ -2301,7 +2303,7 @@
|
|
2301
2303
|
{
|
2302
2304
|
"data": {
|
2303
2305
|
"text/plain": [
|
2304
|
-
"#<RedAmber::Vector(:boolean, size=4):
|
2306
|
+
"#<RedAmber::Vector(:boolean, size=4):0x000000000000f514>\n",
|
2305
2307
|
"[false, false, true, nil]\n"
|
2306
2308
|
]
|
2307
2309
|
},
|
@@ -2335,7 +2337,7 @@
|
|
2335
2337
|
{
|
2336
2338
|
"data": {
|
2337
2339
|
"text/plain": [
|
2338
|
-
"#<RedAmber::Vector(:boolean, size=4):
|
2340
|
+
"#<RedAmber::Vector(:boolean, size=4):0x000000000000f528>\n",
|
2339
2341
|
"[false, false, true, true]\n"
|
2340
2342
|
]
|
2341
2343
|
},
|
@@ -2397,7 +2399,7 @@
|
|
2397
2399
|
"RedAmber::DataFrame <5 x 1 vector> <table><tr><th>x</th></tr><tr><td>1</td></tr><tr><td>2</td></tr><tr><td>3</td></tr><tr><td>4</td></tr><tr><td>5</td></tr></table>"
|
2398
2400
|
],
|
2399
2401
|
"text/plain": [
|
2400
|
-
"#<RedAmber::DataFrame : 5 x 1 Vector,
|
2402
|
+
"#<RedAmber::DataFrame : 5 x 1 Vector, 0x000000000000f53c>\n",
|
2401
2403
|
" x\n",
|
2402
2404
|
" <uint8>\n",
|
2403
2405
|
"1 1\n",
|
@@ -2434,7 +2436,7 @@
|
|
2434
2436
|
{
|
2435
2437
|
"data": {
|
2436
2438
|
"text/plain": [
|
2437
|
-
"#<RedAmber::Vector(:uint8, size=5):
|
2439
|
+
"#<RedAmber::Vector(:uint8, size=5):0x000000000000f320>\n",
|
2438
2440
|
"[1, 2, 3, 4, 5]\n"
|
2439
2441
|
]
|
2440
2442
|
},
|
@@ -2452,7 +2454,38 @@
|
|
2452
2454
|
"id": "6d973934-e08b-4b45-8efb-52f9167e7238",
|
2453
2455
|
"metadata": {},
|
2454
2456
|
"source": [
|
2455
|
-
"This behavior may be useful to use
|
2457
|
+
"This behavior may be useful to use with DataFrame manipulation verbs (like pick, drop, slice, remove, assign, rename)."
|
2458
|
+
]
|
2459
|
+
},
|
2460
|
+
{
|
2461
|
+
"cell_type": "code",
|
2462
|
+
"execution_count": 70,
|
2463
|
+
"id": "6beefc5a-dc47-42cc-a283-456073c4251e",
|
2464
|
+
"metadata": {},
|
2465
|
+
"outputs": [
|
2466
|
+
{
|
2467
|
+
"data": {
|
2468
|
+
"text/html": [
|
2469
|
+
"RedAmber::DataFrame <5 x 2 vectors> <table><tr><th>x</th><th>y</th></tr><tr><td>1</td><td>1.0</td></tr><tr><td>2</td><td>2.0</td></tr><tr><td>3</td><td>3.0</td></tr><tr><td>4</td><td>NaN</td></tr><tr><td>5</td><td><i>(nil)</i></td></tr></table>"
|
2470
|
+
],
|
2471
|
+
"text/plain": [
|
2472
|
+
"#<RedAmber::DataFrame : 5 x 2 Vectors, 0x000000000000f550>\n",
|
2473
|
+
" x y\n",
|
2474
|
+
" <uint8> <double>\n",
|
2475
|
+
"1 1 1.0\n",
|
2476
|
+
"2 2 2.0\n",
|
2477
|
+
"3 3 3.0\n",
|
2478
|
+
"4 4 NaN\n",
|
2479
|
+
"5 5 (nil)\n"
|
2480
|
+
]
|
2481
|
+
},
|
2482
|
+
"execution_count": 70,
|
2483
|
+
"metadata": {},
|
2484
|
+
"output_type": "execute_result"
|
2485
|
+
}
|
2486
|
+
],
|
2487
|
+
"source": [
|
2488
|
+
"df.pick { keys.select { |key| df[key].numeric? } }"
|
2456
2489
|
]
|
2457
2490
|
},
|
2458
2491
|
{
|
@@ -2481,7 +2514,7 @@
|
|
2481
2514
|
},
|
2482
2515
|
{
|
2483
2516
|
"cell_type": "code",
|
2484
|
-
"execution_count":
|
2517
|
+
"execution_count": 71,
|
2485
2518
|
"id": "9cdce2e4-7876-4be6-bd1f-bc8ab6e6c871",
|
2486
2519
|
"metadata": {},
|
2487
2520
|
"outputs": [
|
@@ -2491,7 +2524,7 @@
|
|
2491
2524
|
"RedAmber::DataFrame <10 x 8 vectors> <table><tr><th>species</th><th>island</th><th>bill_length_mm</th><th>bill_depth_mm</th><th>flipper_length_mm</th><th>body_mass_g</th><th>sex</th><th>year</th></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.1</td><td>18.7</td><td>181</td><td>3750</td><td>male</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.5</td><td>17.4</td><td>186</td><td>3800</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>40.3</td><td>18.0</td><td>195</td><td>3250</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td>2007</td></tr><tr><td colspan='8'>⋮</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>50.4</td><td>15.7</td><td>222</td><td>5750</td><td>male</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>45.2</td><td>14.8</td><td>212</td><td>5200</td><td>female</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>49.9</td><td>16.1</td><td>213</td><td>5400</td><td>male</td><td>2009</td></tr></table>"
|
2492
2525
|
],
|
2493
2526
|
"text/plain": [
|
2494
|
-
"#<RedAmber::DataFrame : 10 x 8 Vectors,
|
2527
|
+
"#<RedAmber::DataFrame : 10 x 8 Vectors, 0x000000000000f564>\n",
|
2495
2528
|
" species island bill_length_mm bill_depth_mm flipper_length_mm ... year\n",
|
2496
2529
|
" <string> <string> <double> <double> <uint8> ... <uint16>\n",
|
2497
2530
|
" 1 Adelie Torgersen 39.1 18.7 181 ... 2007\n",
|
@@ -2505,35 +2538,35 @@
|
|
2505
2538
|
"10 Gentoo Biscoe 49.9 16.1 213 ... 2009\n"
|
2506
2539
|
]
|
2507
2540
|
},
|
2508
|
-
"execution_count":
|
2541
|
+
"execution_count": 71,
|
2509
2542
|
"metadata": {},
|
2510
2543
|
"output_type": "execute_result"
|
2511
2544
|
}
|
2512
2545
|
],
|
2513
2546
|
"source": [
|
2514
|
-
"# returns 5 rows
|
2547
|
+
"# returns 5 rows from the start and 5 rows from the end\n",
|
2515
2548
|
"penguins.slice(0...5, -5..-1)"
|
2516
2549
|
]
|
2517
2550
|
},
|
2518
2551
|
{
|
2519
2552
|
"cell_type": "code",
|
2520
|
-
"execution_count":
|
2521
|
-
"id": "
|
2553
|
+
"execution_count": 72,
|
2554
|
+
"id": "93c3f6f0-7bc9-4909-8f32-20e8c1ddfd3a",
|
2522
2555
|
"metadata": {},
|
2523
2556
|
"outputs": [
|
2524
2557
|
{
|
2525
2558
|
"data": {
|
2526
2559
|
"text/html": [
|
2527
|
-
"RedAmber::DataFrame <1 x
|
2560
|
+
"RedAmber::DataFrame <1 x 9 vectors> <table><tr><th>index</th><th>species</th><th>island</th><th>bill_length_mm</th><th>bill_depth_mm</th><th>flipper_length_mm</th><th>body_mass_g</th><th>sex</th><th>year</th></tr><tr><td>113</td><td>Adelie</td><td>Biscoe</td><td>42.2</td><td>19.5</td><td>197</td><td>4275</td><td>male</td><td>2009</td></tr></table>"
|
2528
2561
|
],
|
2529
2562
|
"text/plain": [
|
2530
|
-
"#<RedAmber::DataFrame : 1 x
|
2531
|
-
"
|
2532
|
-
" <string> <string> <double> <double> <uint8>
|
2533
|
-
"1 Adelie Biscoe 42.2 19.5 197
|
2563
|
+
"#<RedAmber::DataFrame : 1 x 9 Vectors, 0x000000000000f578>\n",
|
2564
|
+
" index species island bill_length_mm bill_depth_mm flipper_length_mm ... year\n",
|
2565
|
+
" <uint16> <string> <string> <double> <double> <uint8> ... <uint16>\n",
|
2566
|
+
"1 113 Adelie Biscoe 42.2 19.5 197 ... 2009\n"
|
2534
2567
|
]
|
2535
2568
|
},
|
2536
|
-
"execution_count":
|
2569
|
+
"execution_count": 72,
|
2537
2570
|
"metadata": {},
|
2538
2571
|
"output_type": "execute_result"
|
2539
2572
|
}
|
@@ -2541,7 +2574,8 @@
|
|
2541
2574
|
"source": [
|
2542
2575
|
"# slice accepts Float index\n",
|
2543
2576
|
"# 33% of 344 observations in index => 113.52 th data ??\n",
|
2544
|
-
"penguins.
|
2577
|
+
"indexed_penguins = penguins.assign_left { [:index, indexes] } # #assign_left and assigner by Array is 0.2.0 feature\n",
|
2578
|
+
"indexed_penguins.slice(penguins.size * 0.33)"
|
2545
2579
|
]
|
2546
2580
|
},
|
2547
2581
|
{
|
@@ -2565,18 +2599,18 @@
|
|
2565
2599
|
},
|
2566
2600
|
{
|
2567
2601
|
"cell_type": "code",
|
2568
|
-
"execution_count":
|
2602
|
+
"execution_count": 73,
|
2569
2603
|
"id": "f58ca131-7375-4489-90ce-6ba54b898eb5",
|
2570
2604
|
"metadata": {},
|
2571
2605
|
"outputs": [
|
2572
2606
|
{
|
2573
2607
|
"data": {
|
2574
2608
|
"text/plain": [
|
2575
|
-
"#<RedAmber::Vector(:boolean, size=344):
|
2609
|
+
"#<RedAmber::Vector(:boolean, size=344):0x000000000000f58c>\n",
|
2576
2610
|
"[false, false, true, nil, false, false, false, false, false, true, false, false, ... ]\n"
|
2577
2611
|
]
|
2578
2612
|
},
|
2579
|
-
"execution_count":
|
2613
|
+
"execution_count": 73,
|
2580
2614
|
"metadata": {},
|
2581
2615
|
"output_type": "execute_result"
|
2582
2616
|
}
|
@@ -2588,7 +2622,7 @@
|
|
2588
2622
|
},
|
2589
2623
|
{
|
2590
2624
|
"cell_type": "code",
|
2591
|
-
"execution_count":
|
2625
|
+
"execution_count": 74,
|
2592
2626
|
"id": "176ab365-c66a-4712-97b9-4381a536321b",
|
2593
2627
|
"metadata": {},
|
2594
2628
|
"outputs": [
|
@@ -2598,7 +2632,7 @@
|
|
2598
2632
|
"RedAmber::DataFrame <242 x 8 vectors> <table><tr><th>species</th><th>island</th><th>bill_length_mm</th><th>bill_depth_mm</th><th>flipper_length_mm</th><th>body_mass_g</th><th>sex</th><th>year</th></tr><tr><td>Adelie</td><td>Torgersen</td><td>40.3</td><td>18.0</td><td>195</td><td>3250</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>42.0</td><td>20.2</td><td>190</td><td>4250</td><td><i>(nil)</i></td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>41.1</td><td>17.6</td><td>182</td><td>3200</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>42.5</td><td>20.7</td><td>197</td><td>4500</td><td>male</td><td>2007</td></tr><tr><td colspan='8'>⋮</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>50.4</td><td>15.7</td><td>222</td><td>5750</td><td>male</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>45.2</td><td>14.8</td><td>212</td><td>5200</td><td>female</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>49.9</td><td>16.1</td><td>213</td><td>5400</td><td>male</td><td>2009</td></tr></table>"
|
2599
2633
|
],
|
2600
2634
|
"text/plain": [
|
2601
|
-
"#<RedAmber::DataFrame : 242 x 8 Vectors,
|
2635
|
+
"#<RedAmber::DataFrame : 242 x 8 Vectors, 0x000000000000f5a0>\n",
|
2602
2636
|
" species island bill_length_mm bill_depth_mm flipper_length_mm ... year\n",
|
2603
2637
|
" <string> <string> <double> <double> <uint8> ... <uint16>\n",
|
2604
2638
|
" 1 Adelie Torgersen 40.3 18.0 195 ... 2007\n",
|
@@ -2612,7 +2646,7 @@
|
|
2612
2646
|
"242 Gentoo Biscoe 49.9 16.1 213 ... 2009\n"
|
2613
2647
|
]
|
2614
2648
|
},
|
2615
|
-
"execution_count":
|
2649
|
+
"execution_count": 74,
|
2616
2650
|
"metadata": {},
|
2617
2651
|
"output_type": "execute_result"
|
2618
2652
|
}
|
@@ -2634,7 +2668,7 @@
|
|
2634
2668
|
},
|
2635
2669
|
{
|
2636
2670
|
"cell_type": "code",
|
2637
|
-
"execution_count":
|
2671
|
+
"execution_count": 75,
|
2638
2672
|
"id": "c95d3426-0bbb-430e-8d83-6e22434d99ed",
|
2639
2673
|
"metadata": {},
|
2640
2674
|
"outputs": [
|
@@ -2644,7 +2678,7 @@
|
|
2644
2678
|
"RedAmber::DataFrame <204 x 8 vectors> <table><tr><th>species</th><th>island</th><th>bill_length_mm</th><th>bill_depth_mm</th><th>flipper_length_mm</th><th>body_mass_g</th><th>sex</th><th>year</th></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.1</td><td>18.7</td><td>181</td><td>3750</td><td>male</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.5</td><td>17.4</td><td>186</td><td>3800</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>40.3</td><td>18.0</td><td>195</td><td>3250</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.3</td><td>20.6</td><td>190</td><td>3650</td><td>male</td><td>2007</td></tr><tr><td colspan='8'>⋮</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>47.2</td><td>13.7</td><td>214</td><td>4925</td><td>female</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>46.8</td><td>14.3</td><td>215</td><td>4850</td><td>female</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>45.2</td><td>14.8</td><td>212</td><td>5200</td><td>female</td><td>2009</td></tr></table>"
|
2645
2679
|
],
|
2646
2680
|
"text/plain": [
|
2647
|
-
"#<RedAmber::DataFrame : 204 x 8 Vectors,
|
2681
|
+
"#<RedAmber::DataFrame : 204 x 8 Vectors, 0x000000000000f5b4>\n",
|
2648
2682
|
" species island bill_length_mm bill_depth_mm flipper_length_mm ... year\n",
|
2649
2683
|
" <string> <string> <double> <double> <uint8> ... <uint16>\n",
|
2650
2684
|
" 1 Adelie Torgersen 39.1 18.7 181 ... 2007\n",
|
@@ -2658,7 +2692,7 @@
|
|
2658
2692
|
"204 Gentoo Biscoe 45.2 14.8 212 ... 2009\n"
|
2659
2693
|
]
|
2660
2694
|
},
|
2661
|
-
"execution_count":
|
2695
|
+
"execution_count": 75,
|
2662
2696
|
"metadata": {},
|
2663
2697
|
"output_type": "execute_result"
|
2664
2698
|
}
|
@@ -2691,20 +2725,20 @@
|
|
2691
2725
|
},
|
2692
2726
|
{
|
2693
2727
|
"cell_type": "code",
|
2694
|
-
"execution_count":
|
2728
|
+
"execution_count": 76,
|
2695
2729
|
"id": "8e4a8108-154b-4621-acd1-704ddf229d61",
|
2696
2730
|
"metadata": {},
|
2697
2731
|
"outputs": [
|
2698
2732
|
{
|
2699
2733
|
"data": {
|
2700
2734
|
"text/plain": [
|
2701
|
-
"#<Arrow::Table:
|
2735
|
+
"#<Arrow::Table:0x7f54b8439518 ptr=0x55d81a8f6f30>\n",
|
2702
2736
|
"\t a\tb\t c\n",
|
2703
2737
|
"0\t 1\tA\t 1.000000\n",
|
2704
2738
|
"1\t(null)\t(null)\t (null)\n"
|
2705
2739
|
]
|
2706
2740
|
},
|
2707
|
-
"execution_count":
|
2741
|
+
"execution_count": 76,
|
2708
2742
|
"metadata": {},
|
2709
2743
|
"output_type": "execute_result"
|
2710
2744
|
}
|
@@ -2725,19 +2759,19 @@
|
|
2725
2759
|
},
|
2726
2760
|
{
|
2727
2761
|
"cell_type": "code",
|
2728
|
-
"execution_count":
|
2762
|
+
"execution_count": 77,
|
2729
2763
|
"id": "851c3bf6-b9e9-41bd-92c5-5372ed934549",
|
2730
2764
|
"metadata": {},
|
2731
2765
|
"outputs": [
|
2732
2766
|
{
|
2733
2767
|
"data": {
|
2734
2768
|
"text/plain": [
|
2735
|
-
"#<Arrow::Table:
|
2769
|
+
"#<Arrow::Table:0x7f54b83fdf40 ptr=0x55d81abf1a70>\n",
|
2736
2770
|
"\ta\tb\t c\n",
|
2737
2771
|
"0\t1\tA\t 1.000000\n"
|
2738
2772
|
]
|
2739
2773
|
},
|
2740
|
-
"execution_count":
|
2774
|
+
"execution_count": 77,
|
2741
2775
|
"metadata": {},
|
2742
2776
|
"output_type": "execute_result"
|
2743
2777
|
}
|
@@ -2772,7 +2806,7 @@
|
|
2772
2806
|
},
|
2773
2807
|
{
|
2774
2808
|
"cell_type": "code",
|
2775
|
-
"execution_count":
|
2809
|
+
"execution_count": 78,
|
2776
2810
|
"id": "17e38ab8-886b-4114-bcaf-ee18df7d00cd",
|
2777
2811
|
"metadata": {},
|
2778
2812
|
"outputs": [
|
@@ -2782,7 +2816,7 @@
|
|
2782
2816
|
"RedAmber::DataFrame <334 x 8 vectors> <table><tr><th>species</th><th>island</th><th>bill_length_mm</th><th>bill_depth_mm</th><th>flipper_length_mm</th><th>body_mass_g</th><th>sex</th><th>year</th></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.3</td><td>20.6</td><td>190</td><td>3650</td><td>male</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>38.9</td><td>17.8</td><td>181</td><td>3625</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.2</td><td>19.6</td><td>195</td><td>4675</td><td>male</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>34.1</td><td>18.1</td><td>193</td><td>3475</td><td><i>(nil)</i></td><td>2007</td></tr><tr><td colspan='8'>⋮</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>44.5</td><td>15.7</td><td>217</td><td>4875</td><td><i>(nil)</i></td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>48.8</td><td>16.2</td><td>222</td><td>6000</td><td>male</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>47.2</td><td>13.7</td><td>214</td><td>4925</td><td>female</td><td>2009</td></tr></table>"
|
2783
2817
|
],
|
2784
2818
|
"text/plain": [
|
2785
|
-
"#<RedAmber::DataFrame : 334 x 8 Vectors,
|
2819
|
+
"#<RedAmber::DataFrame : 334 x 8 Vectors, 0x000000000000f5c8>\n",
|
2786
2820
|
" species island bill_length_mm bill_depth_mm flipper_length_mm ... year\n",
|
2787
2821
|
" <string> <string> <double> <double> <uint8> ... <uint16>\n",
|
2788
2822
|
" 1 Adelie Torgersen 39.3 20.6 190 ... 2007\n",
|
@@ -2796,7 +2830,7 @@
|
|
2796
2830
|
"334 Gentoo Biscoe 47.2 13.7 214 ... 2009\n"
|
2797
2831
|
]
|
2798
2832
|
},
|
2799
|
-
"execution_count":
|
2833
|
+
"execution_count": 78,
|
2800
2834
|
"metadata": {},
|
2801
2835
|
"output_type": "execute_result"
|
2802
2836
|
}
|
@@ -2816,7 +2850,7 @@
|
|
2816
2850
|
},
|
2817
2851
|
{
|
2818
2852
|
"cell_type": "code",
|
2819
|
-
"execution_count":
|
2853
|
+
"execution_count": 79,
|
2820
2854
|
"id": "6f169420-7eb2-457f-8d59-7a5c90aa3fa5",
|
2821
2855
|
"metadata": {},
|
2822
2856
|
"outputs": [
|
@@ -2826,7 +2860,7 @@
|
|
2826
2860
|
"RedAmber::DataFrame <333 x 8 vectors> <table><tr><th>species</th><th>island</th><th>bill_length_mm</th><th>bill_depth_mm</th><th>flipper_length_mm</th><th>body_mass_g</th><th>sex</th><th>year</th></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.1</td><td>18.7</td><td>181</td><td>3750</td><td>male</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.5</td><td>17.4</td><td>186</td><td>3800</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>40.3</td><td>18.0</td><td>195</td><td>3250</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>36.7</td><td>19.3</td><td>193</td><td>3450</td><td>female</td><td>2007</td></tr><tr><td colspan='8'>⋮</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>50.4</td><td>15.7</td><td>222</td><td>5750</td><td>male</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>45.2</td><td>14.8</td><td>212</td><td>5200</td><td>female</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>49.9</td><td>16.1</td><td>213</td><td>5400</td><td>male</td><td>2009</td></tr></table>"
|
2827
2861
|
],
|
2828
2862
|
"text/plain": [
|
2829
|
-
"#<RedAmber::DataFrame : 333 x 8 Vectors,
|
2863
|
+
"#<RedAmber::DataFrame : 333 x 8 Vectors, 0x000000000000f5dc>\n",
|
2830
2864
|
" species island bill_length_mm bill_depth_mm flipper_length_mm ... year\n",
|
2831
2865
|
" <string> <string> <double> <double> <uint8> ... <uint16>\n",
|
2832
2866
|
" 1 Adelie Torgersen 39.1 18.7 181 ... 2007\n",
|
@@ -2840,7 +2874,7 @@
|
|
2840
2874
|
"333 Gentoo Biscoe 49.9 16.1 213 ... 2009\n"
|
2841
2875
|
]
|
2842
2876
|
},
|
2843
|
-
"execution_count":
|
2877
|
+
"execution_count": 79,
|
2844
2878
|
"metadata": {},
|
2845
2879
|
"output_type": "execute_result"
|
2846
2880
|
}
|
@@ -2860,7 +2894,7 @@
|
|
2860
2894
|
},
|
2861
2895
|
{
|
2862
2896
|
"cell_type": "code",
|
2863
|
-
"execution_count":
|
2897
|
+
"execution_count": 80,
|
2864
2898
|
"id": "a6807c65-25e5-4ee1-8d1b-6018c46b3999",
|
2865
2899
|
"metadata": {},
|
2866
2900
|
"outputs": [
|
@@ -2870,7 +2904,7 @@
|
|
2870
2904
|
"RedAmber::DataFrame <140 x 8 vectors> <table><tr><th>species</th><th>island</th><th>bill_length_mm</th><th>bill_depth_mm</th><th>flipper_length_mm</th><th>body_mass_g</th><th>sex</th><th>year</th></tr><tr><td>Adelie</td><td>Torgersen</td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>36.7</td><td>19.3</td><td>193</td><td>3450</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>34.1</td><td>18.1</td><td>193</td><td>3475</td><td><i>(nil)</i></td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>37.8</td><td>17.1</td><td>186</td><td>3300</td><td><i>(nil)</i></td><td>2007</td></tr><tr><td colspan='8'>⋮</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>50.4</td><td>15.7</td><td>222</td><td>5750</td><td>male</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>49.9</td><td>16.1</td><td>213</td><td>5400</td><td>male</td><td>2009</td></tr></table>"
|
2871
2905
|
],
|
2872
2906
|
"text/plain": [
|
2873
|
-
"#<RedAmber::DataFrame : 140 x 8 Vectors,
|
2907
|
+
"#<RedAmber::DataFrame : 140 x 8 Vectors, 0x000000000000f5f0>\n",
|
2874
2908
|
" species island bill_length_mm bill_depth_mm flipper_length_mm ... year\n",
|
2875
2909
|
" <string> <string> <double> <double> <uint8> ... <uint16>\n",
|
2876
2910
|
" 1 Adelie Torgersen (nil) (nil) (nil) ... 2007\n",
|
@@ -2884,7 +2918,7 @@
|
|
2884
2918
|
"140 Gentoo Biscoe 49.9 16.1 213 ... 2009\n"
|
2885
2919
|
]
|
2886
2920
|
},
|
2887
|
-
"execution_count":
|
2921
|
+
"execution_count": 80,
|
2888
2922
|
"metadata": {},
|
2889
2923
|
"output_type": "execute_result"
|
2890
2924
|
}
|
@@ -2917,7 +2951,7 @@
|
|
2917
2951
|
},
|
2918
2952
|
{
|
2919
2953
|
"cell_type": "code",
|
2920
|
-
"execution_count":
|
2954
|
+
"execution_count": 81,
|
2921
2955
|
"id": "8575614e-f702-4ee4-ac7b-745e9b32e803",
|
2922
2956
|
"metadata": {},
|
2923
2957
|
"outputs": [
|
@@ -2927,7 +2961,7 @@
|
|
2927
2961
|
"RedAmber::DataFrame <3 x 3 vectors> <table><tr><th>a</th><th>b</th><th>c</th></tr><tr><td>1</td><td>A</td><td>1.0</td></tr><tr><td>2</td><td>B</td><td>2.0</td></tr><tr><td><i>(nil)</i></td><td>C</td><td>3.0</td></tr></table>"
|
2928
2962
|
],
|
2929
2963
|
"text/plain": [
|
2930
|
-
"#<RedAmber::DataFrame : 3 x 3 Vectors,
|
2964
|
+
"#<RedAmber::DataFrame : 3 x 3 Vectors, 0x000000000000f604>\n",
|
2931
2965
|
" a b c\n",
|
2932
2966
|
" <uint8> <string> <double>\n",
|
2933
2967
|
"1 1 A 1.0\n",
|
@@ -2935,7 +2969,7 @@
|
|
2935
2969
|
"3 (nil) C 3.0\n"
|
2936
2970
|
]
|
2937
2971
|
},
|
2938
|
-
"execution_count":
|
2972
|
+
"execution_count": 81,
|
2939
2973
|
"metadata": {},
|
2940
2974
|
"output_type": "execute_result"
|
2941
2975
|
}
|
@@ -2946,18 +2980,18 @@
|
|
2946
2980
|
},
|
2947
2981
|
{
|
2948
2982
|
"cell_type": "code",
|
2949
|
-
"execution_count":
|
2983
|
+
"execution_count": 82,
|
2950
2984
|
"id": "932a5e71-8cef-44e5-a789-ce97329bc001",
|
2951
2985
|
"metadata": {},
|
2952
2986
|
"outputs": [
|
2953
2987
|
{
|
2954
2988
|
"data": {
|
2955
2989
|
"text/plain": [
|
2956
|
-
"#<RedAmber::Vector(:boolean, size=3):
|
2990
|
+
"#<RedAmber::Vector(:boolean, size=3):0x000000000000f618>\n",
|
2957
2991
|
"[true, false, nil]\n"
|
2958
2992
|
]
|
2959
2993
|
},
|
2960
|
-
"execution_count":
|
2994
|
+
"execution_count": 82,
|
2961
2995
|
"metadata": {},
|
2962
2996
|
"output_type": "execute_result"
|
2963
2997
|
}
|
@@ -2968,7 +3002,7 @@
|
|
2968
3002
|
},
|
2969
3003
|
{
|
2970
3004
|
"cell_type": "code",
|
2971
|
-
"execution_count":
|
3005
|
+
"execution_count": 83,
|
2972
3006
|
"id": "74cf6aa6-8913-433d-97ad-bba2d548afe5",
|
2973
3007
|
"metadata": {},
|
2974
3008
|
"outputs": [
|
@@ -2978,7 +3012,7 @@
|
|
2978
3012
|
"[false, true, true]"
|
2979
3013
|
]
|
2980
3014
|
},
|
2981
|
-
"execution_count":
|
3015
|
+
"execution_count": 83,
|
2982
3016
|
"metadata": {},
|
2983
3017
|
"output_type": "execute_result"
|
2984
3018
|
}
|
@@ -2989,7 +3023,7 @@
|
|
2989
3023
|
},
|
2990
3024
|
{
|
2991
3025
|
"cell_type": "code",
|
2992
|
-
"execution_count":
|
3026
|
+
"execution_count": 84,
|
2993
3027
|
"id": "5e466a06-cb17-4dc1-a5b0-34bfd3ffb78b",
|
2994
3028
|
"metadata": {},
|
2995
3029
|
"outputs": [
|
@@ -2999,7 +3033,7 @@
|
|
2999
3033
|
"true"
|
3000
3034
|
]
|
3001
3035
|
},
|
3002
|
-
"execution_count":
|
3036
|
+
"execution_count": 84,
|
3003
3037
|
"metadata": {},
|
3004
3038
|
"output_type": "execute_result"
|
3005
3039
|
}
|
@@ -3018,18 +3052,18 @@
|
|
3018
3052
|
},
|
3019
3053
|
{
|
3020
3054
|
"cell_type": "code",
|
3021
|
-
"execution_count":
|
3055
|
+
"execution_count": 85,
|
3022
3056
|
"id": "077b216f-0a08-413e-95c9-12789d15a9ba",
|
3023
3057
|
"metadata": {},
|
3024
3058
|
"outputs": [
|
3025
3059
|
{
|
3026
3060
|
"data": {
|
3027
3061
|
"text/plain": [
|
3028
|
-
"#<RedAmber::Vector(:boolean, size=3):
|
3062
|
+
"#<RedAmber::Vector(:boolean, size=3):0x000000000000f62c>\n",
|
3029
3063
|
"[false, true, nil]\n"
|
3030
3064
|
]
|
3031
3065
|
},
|
3032
|
-
"execution_count":
|
3066
|
+
"execution_count": 85,
|
3033
3067
|
"metadata": {},
|
3034
3068
|
"output_type": "execute_result"
|
3035
3069
|
}
|
@@ -3040,7 +3074,7 @@
|
|
3040
3074
|
},
|
3041
3075
|
{
|
3042
3076
|
"cell_type": "code",
|
3043
|
-
"execution_count":
|
3077
|
+
"execution_count": 86,
|
3044
3078
|
"id": "b3df62a6-c4a3-44cb-bde6-f6be12b120c8",
|
3045
3079
|
"metadata": {},
|
3046
3080
|
"outputs": [
|
@@ -3050,14 +3084,14 @@
|
|
3050
3084
|
"RedAmber::DataFrame <2 x 3 vectors> <table><tr><th>a</th><th>b</th><th>c</th></tr><tr><td>1</td><td>A</td><td>1.0</td></tr><tr><td><i>(nil)</i></td><td>C</td><td>3.0</td></tr></table>"
|
3051
3085
|
],
|
3052
3086
|
"text/plain": [
|
3053
|
-
"#<RedAmber::DataFrame : 2 x 3 Vectors,
|
3087
|
+
"#<RedAmber::DataFrame : 2 x 3 Vectors, 0x000000000000f640>\n",
|
3054
3088
|
" a b c\n",
|
3055
3089
|
" <uint8> <string> <double>\n",
|
3056
3090
|
"1 1 A 1.0\n",
|
3057
3091
|
"2 (nil) C 3.0\n"
|
3058
3092
|
]
|
3059
3093
|
},
|
3060
|
-
"execution_count":
|
3094
|
+
"execution_count": 86,
|
3061
3095
|
"metadata": {},
|
3062
3096
|
"output_type": "execute_result"
|
3063
3097
|
}
|
@@ -3076,18 +3110,18 @@
|
|
3076
3110
|
},
|
3077
3111
|
{
|
3078
3112
|
"cell_type": "code",
|
3079
|
-
"execution_count":
|
3113
|
+
"execution_count": 87,
|
3080
3114
|
"id": "296ca3cd-a6da-4603-a576-d8c36a810e4f",
|
3081
3115
|
"metadata": {},
|
3082
3116
|
"outputs": [
|
3083
3117
|
{
|
3084
3118
|
"data": {
|
3085
3119
|
"text/plain": [
|
3086
|
-
"#<RedAmber::Vector(:boolean, size=3):
|
3120
|
+
"#<RedAmber::Vector(:boolean, size=3):0x000000000000f654>\n",
|
3087
3121
|
"[false, true, true]\n"
|
3088
3122
|
]
|
3089
3123
|
},
|
3090
|
-
"execution_count":
|
3124
|
+
"execution_count": 87,
|
3091
3125
|
"metadata": {},
|
3092
3126
|
"output_type": "execute_result"
|
3093
3127
|
}
|
@@ -3098,7 +3132,7 @@
|
|
3098
3132
|
},
|
3099
3133
|
{
|
3100
3134
|
"cell_type": "code",
|
3101
|
-
"execution_count":
|
3135
|
+
"execution_count": 88,
|
3102
3136
|
"id": "ba5b8c0b-b94e-4209-adcd-258ea3b87bfd",
|
3103
3137
|
"metadata": {},
|
3104
3138
|
"outputs": [
|
@@ -3108,13 +3142,13 @@
|
|
3108
3142
|
"RedAmber::DataFrame <1 x 3 vectors> <table><tr><th>a</th><th>b</th><th>c</th></tr><tr><td>1</td><td>A</td><td>1.0</td></tr></table>"
|
3109
3143
|
],
|
3110
3144
|
"text/plain": [
|
3111
|
-
"#<RedAmber::DataFrame : 1 x 3 Vectors,
|
3145
|
+
"#<RedAmber::DataFrame : 1 x 3 Vectors, 0x000000000000f668>\n",
|
3112
3146
|
" a b c\n",
|
3113
3147
|
" <uint8> <string> <double>\n",
|
3114
3148
|
"1 1 A 1.0\n"
|
3115
3149
|
]
|
3116
3150
|
},
|
3117
|
-
"execution_count":
|
3151
|
+
"execution_count": 88,
|
3118
3152
|
"metadata": {},
|
3119
3153
|
"output_type": "execute_result"
|
3120
3154
|
}
|
@@ -3125,7 +3159,7 @@
|
|
3125
3159
|
},
|
3126
3160
|
{
|
3127
3161
|
"cell_type": "code",
|
3128
|
-
"execution_count":
|
3162
|
+
"execution_count": 89,
|
3129
3163
|
"id": "2446792f-0b0a-4642-acae-b4fec89261c1",
|
3130
3164
|
"metadata": {},
|
3131
3165
|
"outputs": [
|
@@ -3135,7 +3169,7 @@
|
|
3135
3169
|
"true"
|
3136
3170
|
]
|
3137
3171
|
},
|
3138
|
-
"execution_count":
|
3172
|
+
"execution_count": 89,
|
3139
3173
|
"metadata": {},
|
3140
3174
|
"output_type": "execute_result"
|
3141
3175
|
}
|
@@ -3162,7 +3196,7 @@
|
|
3162
3196
|
},
|
3163
3197
|
{
|
3164
3198
|
"cell_type": "code",
|
3165
|
-
"execution_count":
|
3199
|
+
"execution_count": 90,
|
3166
3200
|
"id": "de4bb615-d14d-4c90-ab54-db2f375b9f00",
|
3167
3201
|
"metadata": {},
|
3168
3202
|
"outputs": [
|
@@ -3172,7 +3206,7 @@
|
|
3172
3206
|
"RedAmber::DataFrame <333 x 8 vectors> <table><tr><th>species</th><th>island</th><th>bill_length_mm</th><th>bill_depth_mm</th><th>flipper_length_mm</th><th>body_mass_g</th><th>sex</th><th>year</th></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.1</td><td>18.7</td><td>181</td><td>3750</td><td>male</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.5</td><td>17.4</td><td>186</td><td>3800</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>40.3</td><td>18.0</td><td>195</td><td>3250</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>36.7</td><td>19.3</td><td>193</td><td>3450</td><td>female</td><td>2007</td></tr><tr><td colspan='8'>⋮</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>50.4</td><td>15.7</td><td>222</td><td>5750</td><td>male</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>45.2</td><td>14.8</td><td>212</td><td>5200</td><td>female</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>49.9</td><td>16.1</td><td>213</td><td>5400</td><td>male</td><td>2009</td></tr></table>"
|
3173
3207
|
],
|
3174
3208
|
"text/plain": [
|
3175
|
-
"#<RedAmber::DataFrame : 333 x 8 Vectors,
|
3209
|
+
"#<RedAmber::DataFrame : 333 x 8 Vectors, 0x000000000000f67c>\n",
|
3176
3210
|
" species island bill_length_mm bill_depth_mm flipper_length_mm ... year\n",
|
3177
3211
|
" <string> <string> <double> <double> <uint8> ... <uint16>\n",
|
3178
3212
|
" 1 Adelie Torgersen 39.1 18.7 181 ... 2007\n",
|
@@ -3186,7 +3220,7 @@
|
|
3186
3220
|
"333 Gentoo Biscoe 49.9 16.1 213 ... 2009\n"
|
3187
3221
|
]
|
3188
3222
|
},
|
3189
|
-
"execution_count":
|
3223
|
+
"execution_count": 90,
|
3190
3224
|
"metadata": {},
|
3191
3225
|
"output_type": "execute_result"
|
3192
3226
|
}
|
@@ -3205,7 +3239,7 @@
|
|
3205
3239
|
},
|
3206
3240
|
{
|
3207
3241
|
"cell_type": "code",
|
3208
|
-
"execution_count":
|
3242
|
+
"execution_count": 91,
|
3209
3243
|
"id": "27a3da5f-0ea2-4c5d-a6c3-c0e20f2224a3",
|
3210
3244
|
"metadata": {},
|
3211
3245
|
"outputs": [
|
@@ -3215,7 +3249,7 @@
|
|
3215
3249
|
"RedAmber::DataFrame <333 x 8 vectors> <table><tr><th>species</th><th>island</th><th>bill_length_mm</th><th>bill_depth_mm</th><th>flipper_length_mm</th><th>body_mass_g</th><th>sex</th><th>year</th></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.1</td><td>18.7</td><td>181</td><td>3750</td><td>male</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.5</td><td>17.4</td><td>186</td><td>3800</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>40.3</td><td>18.0</td><td>195</td><td>3250</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>36.7</td><td>19.3</td><td>193</td><td>3450</td><td>female</td><td>2007</td></tr><tr><td colspan='8'>⋮</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>50.4</td><td>15.7</td><td>222</td><td>5750</td><td>male</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>45.2</td><td>14.8</td><td>212</td><td>5200</td><td>female</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>49.9</td><td>16.1</td><td>213</td><td>5400</td><td>male</td><td>2009</td></tr></table>"
|
3216
3250
|
],
|
3217
3251
|
"text/plain": [
|
3218
|
-
"#<RedAmber::DataFrame : 333 x 8 Vectors,
|
3252
|
+
"#<RedAmber::DataFrame : 333 x 8 Vectors, 0x000000000000f690>\n",
|
3219
3253
|
" species island bill_length_mm bill_depth_mm flipper_length_mm ... year\n",
|
3220
3254
|
" <string> <string> <double> <double> <uint8> ... <uint16>\n",
|
3221
3255
|
" 1 Adelie Torgersen 39.1 18.7 181 ... 2007\n",
|
@@ -3229,7 +3263,7 @@
|
|
3229
3263
|
"333 Gentoo Biscoe 49.9 16.1 213 ... 2009\n"
|
3230
3264
|
]
|
3231
3265
|
},
|
3232
|
-
"execution_count":
|
3266
|
+
"execution_count": 91,
|
3233
3267
|
"metadata": {},
|
3234
3268
|
"output_type": "execute_result"
|
3235
3269
|
}
|
@@ -3259,12 +3293,12 @@
|
|
3259
3293
|
"id": "3f6924ec-e86c-4089-ae40-6783027d3ce0",
|
3260
3294
|
"metadata": {},
|
3261
3295
|
"source": [
|
3262
|
-
"`#rename(key_pairs)` accepts key_pairs as arguments. key_pairs should be a Hash of `{existing_key => new_key}` ."
|
3296
|
+
"`#rename(key_pairs)` accepts key_pairs as arguments. key_pairs should be a Hash of `{existing_key => new_key}` or an Array of Array `[[existing_key, new_key], ...]` ."
|
3263
3297
|
]
|
3264
3298
|
},
|
3265
3299
|
{
|
3266
3300
|
"cell_type": "code",
|
3267
|
-
"execution_count":
|
3301
|
+
"execution_count": 92,
|
3268
3302
|
"id": "9396c96d-83d7-4b92-a4ca-27bc9e4d7b9d",
|
3269
3303
|
"metadata": {},
|
3270
3304
|
"outputs": [
|
@@ -3274,7 +3308,7 @@
|
|
3274
3308
|
"RedAmber::DataFrame <3 x 2 vectors> <table><tr><th>name</th><th>age</th></tr><tr><td>Yasuko</td><td>68</td></tr><tr><td>Rui</td><td>49</td></tr><tr><td>Hinata</td><td>28</td></tr></table>"
|
3275
3309
|
],
|
3276
3310
|
"text/plain": [
|
3277
|
-
"#<RedAmber::DataFrame : 3 x 2 Vectors,
|
3311
|
+
"#<RedAmber::DataFrame : 3 x 2 Vectors, 0x000000000000f6a4>\n",
|
3278
3312
|
" name age\n",
|
3279
3313
|
" <string> <uint8>\n",
|
3280
3314
|
"1 Yasuko 68\n",
|
@@ -3282,7 +3316,7 @@
|
|
3282
3316
|
"3 Hinata 28\n"
|
3283
3317
|
]
|
3284
3318
|
},
|
3285
|
-
"execution_count":
|
3319
|
+
"execution_count": 92,
|
3286
3320
|
"metadata": {},
|
3287
3321
|
"output_type": "execute_result"
|
3288
3322
|
}
|
@@ -3294,7 +3328,7 @@
|
|
3294
3328
|
},
|
3295
3329
|
{
|
3296
3330
|
"cell_type": "code",
|
3297
|
-
"execution_count":
|
3331
|
+
"execution_count": 93,
|
3298
3332
|
"id": "fad279c6-1ca0-4493-bd69-0e9ef011bff7",
|
3299
3333
|
"metadata": {},
|
3300
3334
|
"outputs": [
|
@@ -3304,7 +3338,7 @@
|
|
3304
3338
|
"RedAmber::DataFrame <3 x 2 vectors> <table><tr><th>name</th><th>age_in_1993</th></tr><tr><td>Yasuko</td><td>68</td></tr><tr><td>Rui</td><td>49</td></tr><tr><td>Hinata</td><td>28</td></tr></table>"
|
3305
3339
|
],
|
3306
3340
|
"text/plain": [
|
3307
|
-
"#<RedAmber::DataFrame : 3 x 2 Vectors,
|
3341
|
+
"#<RedAmber::DataFrame : 3 x 2 Vectors, 0x000000000000f6b8>\n",
|
3308
3342
|
" name age_in_1993\n",
|
3309
3343
|
" <string> <uint8>\n",
|
3310
3344
|
"1 Yasuko 68\n",
|
@@ -3312,13 +3346,15 @@
|
|
3312
3346
|
"3 Hinata 28\n"
|
3313
3347
|
]
|
3314
3348
|
},
|
3315
|
-
"execution_count":
|
3349
|
+
"execution_count": 93,
|
3316
3350
|
"metadata": {},
|
3317
3351
|
"output_type": "execute_result"
|
3318
3352
|
}
|
3319
3353
|
],
|
3320
3354
|
"source": [
|
3321
|
-
"comecome.rename(:age => :age_in_1993)"
|
3355
|
+
"comecome.rename(:age => :age_in_1993)\n",
|
3356
|
+
"# comecome.rename(:age, :age_in_1993) # is also OK\n",
|
3357
|
+
"# comecome.rename([:age, :age_in_1993]) # is also OK"
|
3322
3358
|
]
|
3323
3359
|
},
|
3324
3360
|
{
|
@@ -3326,7 +3362,7 @@
|
|
3326
3362
|
"id": "9dabb005-9822-4c4b-aaa5-fa6f28f2ed43",
|
3327
3363
|
"metadata": {},
|
3328
3364
|
"source": [
|
3329
|
-
"`#rename {block}` is also acceptable. We can't use both arguments and a block at a same time. The block should return key_pairs as a Hash of {existing_key => new_key}
|
3365
|
+
"`#rename {block}` is also acceptable. We can't use both arguments and a block at a same time. The block should return key_pairs as a Hash of `{existing_key => new_key}` or an Array of Array `[[existing_key, new_key], ...]`. Block is called in the context of self."
|
3330
3366
|
]
|
3331
3367
|
},
|
3332
3368
|
{
|
@@ -3361,12 +3397,12 @@
|
|
3361
3397
|
"id": "b4b22da0-4ee2-4196-88e1-1cfea6a72f4d",
|
3362
3398
|
"metadata": {},
|
3363
3399
|
"source": [
|
3364
|
-
"`#assign(key_pairs)` accepts pairs of key and values as arguments.
|
3400
|
+
"`#assign(key_pairs)` accepts pairs of key and array_like values as arguments. The pairs should be a Hash of `{key => array_like}` or an Array of Array `[[key, array_like], ... ]`. `array_like` is one of `Vector`, `Array` or `Arrow::Array`. "
|
3365
3401
|
]
|
3366
3402
|
},
|
3367
3403
|
{
|
3368
3404
|
"cell_type": "code",
|
3369
|
-
"execution_count":
|
3405
|
+
"execution_count": 94,
|
3370
3406
|
"id": "56dcfed8-a6f9-4d8c-bac3-e8ce7c0674a7",
|
3371
3407
|
"metadata": {},
|
3372
3408
|
"outputs": [
|
@@ -3376,7 +3412,7 @@
|
|
3376
3412
|
"RedAmber::DataFrame <3 x 2 vectors> <table><tr><th>name</th><th>age</th></tr><tr><td>Yasuko</td><td>68</td></tr><tr><td>Rui</td><td>49</td></tr><tr><td>Hinata</td><td>28</td></tr></table>"
|
3377
3413
|
],
|
3378
3414
|
"text/plain": [
|
3379
|
-
"#<RedAmber::DataFrame : 3 x 2 Vectors,
|
3415
|
+
"#<RedAmber::DataFrame : 3 x 2 Vectors, 0x000000000000f6cc>\n",
|
3380
3416
|
" name age\n",
|
3381
3417
|
" <string> <uint8>\n",
|
3382
3418
|
"1 Yasuko 68\n",
|
@@ -3384,7 +3420,7 @@
|
|
3384
3420
|
"3 Hinata 28\n"
|
3385
3421
|
]
|
3386
3422
|
},
|
3387
|
-
"execution_count":
|
3423
|
+
"execution_count": 94,
|
3388
3424
|
"metadata": {},
|
3389
3425
|
"output_type": "execute_result"
|
3390
3426
|
}
|
@@ -3395,7 +3431,7 @@
|
|
3395
3431
|
},
|
3396
3432
|
{
|
3397
3433
|
"cell_type": "code",
|
3398
|
-
"execution_count":
|
3434
|
+
"execution_count": 95,
|
3399
3435
|
"id": "8da8d282-8798-44d5-bb7b-7fa2df922308",
|
3400
3436
|
"metadata": {},
|
3401
3437
|
"outputs": [
|
@@ -3405,7 +3441,7 @@
|
|
3405
3441
|
"RedAmber::DataFrame <3 x 3 vectors> <table><tr><th>name</th><th>age</th><th>brother</th></tr><tr><td>Yasuko</td><td>97</td><td>Santa</td></tr><tr><td>Rui</td><td>78</td><td><i>(nil)</i></td></tr><tr><td>Hinata</td><td>57</td><td>Momotaro</td></tr></table>"
|
3406
3442
|
],
|
3407
3443
|
"text/plain": [
|
3408
|
-
"#<RedAmber::DataFrame : 3 x 3 Vectors,
|
3444
|
+
"#<RedAmber::DataFrame : 3 x 3 Vectors, 0x000000000000f6e0>\n",
|
3409
3445
|
" name age brother\n",
|
3410
3446
|
" <string> <uint8> <string>\n",
|
3411
3447
|
"1 Yasuko 97 Santa\n",
|
@@ -3413,7 +3449,7 @@
|
|
3413
3449
|
"3 Hinata 57 Momotaro\n"
|
3414
3450
|
]
|
3415
3451
|
},
|
3416
|
-
"execution_count":
|
3452
|
+
"execution_count": 95,
|
3417
3453
|
"metadata": {},
|
3418
3454
|
"output_type": "execute_result"
|
3419
3455
|
}
|
@@ -3429,12 +3465,12 @@
|
|
3429
3465
|
"id": "e6d3ddfc-b16d-4b20-83df-357e9cdb32e6",
|
3430
3466
|
"metadata": {},
|
3431
3467
|
"source": [
|
3432
|
-
"`#assign {block}` is also acceptable. We can't use both arguments and a block at a same time. The block should return pairs of key and values as a Hash of `{key =>
|
3468
|
+
"`#assign {block}` is also acceptable. We can't use both arguments and a block at a same time. The block should return pairs of key and array_like values as a Hash of `{key => array_like}` or an Array of Array `[[key, array_like], ... ]`. `array_like` is one of `Vector`, `Array` or `Arrow::Array`. Block is called in the context of self."
|
3433
3469
|
]
|
3434
3470
|
},
|
3435
3471
|
{
|
3436
3472
|
"cell_type": "code",
|
3437
|
-
"execution_count":
|
3473
|
+
"execution_count": 96,
|
3438
3474
|
"id": "8d69edd0-7ad7-4318-8033-1785ce2543db",
|
3439
3475
|
"metadata": {},
|
3440
3476
|
"outputs": [
|
@@ -3444,7 +3480,7 @@
|
|
3444
3480
|
"RedAmber::DataFrame <5 x 3 vectors> <table><tr><th>index</th><th>float</th><th>string</th></tr><tr><td>0</td><td>0.0</td><td>A</td></tr><tr><td>1</td><td>1.1</td><td>B</td></tr><tr><td>2</td><td>2.2</td><td>C</td></tr><tr><td>3</td><td>NaN</td><td>D</td></tr><tr><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td></tr></table>"
|
3445
3481
|
],
|
3446
3482
|
"text/plain": [
|
3447
|
-
"#<RedAmber::DataFrame : 5 x 3 Vectors,
|
3483
|
+
"#<RedAmber::DataFrame : 5 x 3 Vectors, 0x000000000000f6f4>\n",
|
3448
3484
|
" index float string\n",
|
3449
3485
|
" <uint8> <double> <string>\n",
|
3450
3486
|
"1 0 0.0 A\n",
|
@@ -3454,7 +3490,7 @@
|
|
3454
3490
|
"5 (nil) (nil) (nil)\n"
|
3455
3491
|
]
|
3456
3492
|
},
|
3457
|
-
"execution_count":
|
3493
|
+
"execution_count": 96,
|
3458
3494
|
"metadata": {},
|
3459
3495
|
"output_type": "execute_result"
|
3460
3496
|
}
|
@@ -3468,7 +3504,7 @@
|
|
3468
3504
|
},
|
3469
3505
|
{
|
3470
3506
|
"cell_type": "code",
|
3471
|
-
"execution_count":
|
3507
|
+
"execution_count": 97,
|
3472
3508
|
"id": "e884af01-d82b-42e7-8e92-62baf19919cb",
|
3473
3509
|
"metadata": {},
|
3474
3510
|
"outputs": [
|
@@ -3478,7 +3514,7 @@
|
|
3478
3514
|
"RedAmber::DataFrame <5 x 3 vectors> <table><tr><th>index</th><th>float</th><th>string</th></tr><tr><td>0</td><td>-0.0</td><td>A</td></tr><tr><td>255</td><td>-1.1</td><td>B</td></tr><tr><td>254</td><td>-2.2</td><td>C</td></tr><tr><td>253</td><td>NaN</td><td>D</td></tr><tr><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td></tr></table>"
|
3479
3515
|
],
|
3480
3516
|
"text/plain": [
|
3481
|
-
"#<RedAmber::DataFrame : 5 x 3 Vectors,
|
3517
|
+
"#<RedAmber::DataFrame : 5 x 3 Vectors, 0x000000000000f708>\n",
|
3482
3518
|
" index float string\n",
|
3483
3519
|
" <uint8> <double> <string>\n",
|
3484
3520
|
"1 0 -0.0 A\n",
|
@@ -3488,7 +3524,7 @@
|
|
3488
3524
|
"5 (nil) (nil) (nil)\n"
|
3489
3525
|
]
|
3490
3526
|
},
|
3491
|
-
"execution_count":
|
3527
|
+
"execution_count": 97,
|
3492
3528
|
"metadata": {},
|
3493
3529
|
"output_type": "execute_result"
|
3494
3530
|
}
|
@@ -3496,14 +3532,39 @@
|
|
3496
3532
|
"source": [
|
3497
3533
|
"# update numeric variables\n",
|
3498
3534
|
"df.assign do\n",
|
3499
|
-
"
|
3500
|
-
" vectors.each_with_index do |v, i|\n",
|
3501
|
-
" assigner[keys[i]] = -v if v.numeric?\n",
|
3502
|
-
" end\n",
|
3503
|
-
" assigner\n",
|
3535
|
+
" vectors.select(&:numeric?).map { |v| [v.key, -v] }\n",
|
3504
3536
|
"end"
|
3505
3537
|
]
|
3506
3538
|
},
|
3539
|
+
{
|
3540
|
+
"cell_type": "markdown",
|
3541
|
+
"id": "7b8e2090-628f-4b17-8929-cbb5e0285dff",
|
3542
|
+
"metadata": {},
|
3543
|
+
"source": [
|
3544
|
+
"In this example, columns :x and :y are updated. Column :x returns complements for #negate method because :x is :uint8 type."
|
3545
|
+
]
|
3546
|
+
},
|
3547
|
+
{
|
3548
|
+
"cell_type": "code",
|
3549
|
+
"execution_count": 98,
|
3550
|
+
"id": "9452f8db-5f23-4044-ac87-ac5695fae8ae",
|
3551
|
+
"metadata": {},
|
3552
|
+
"outputs": [
|
3553
|
+
{
|
3554
|
+
"data": {
|
3555
|
+
"text/plain": [
|
3556
|
+
"[:uint8, :double, :string]"
|
3557
|
+
]
|
3558
|
+
},
|
3559
|
+
"execution_count": 98,
|
3560
|
+
"metadata": {},
|
3561
|
+
"output_type": "execute_result"
|
3562
|
+
}
|
3563
|
+
],
|
3564
|
+
"source": [
|
3565
|
+
"df.types"
|
3566
|
+
]
|
3567
|
+
},
|
3507
3568
|
{
|
3508
3569
|
"cell_type": "markdown",
|
3509
3570
|
"id": "c5c83559-f4d8-4ed2-8b20-5c50eb1faa14",
|
@@ -3522,18 +3583,18 @@
|
|
3522
3583
|
},
|
3523
3584
|
{
|
3524
3585
|
"cell_type": "code",
|
3525
|
-
"execution_count":
|
3586
|
+
"execution_count": 99,
|
3526
3587
|
"id": "2bfbe584-be54-486b-af32-e76b37c10e49",
|
3527
3588
|
"metadata": {},
|
3528
3589
|
"outputs": [
|
3529
3590
|
{
|
3530
3591
|
"data": {
|
3531
3592
|
"text/plain": [
|
3532
|
-
"#<RedAmber::Vector(:uint8, size=3):
|
3593
|
+
"#<RedAmber::Vector(:uint8, size=3):0x000000000000f71c>\n",
|
3533
3594
|
"[1, 2, 3]\n"
|
3534
3595
|
]
|
3535
3596
|
},
|
3536
|
-
"execution_count":
|
3597
|
+
"execution_count": 99,
|
3537
3598
|
"metadata": {},
|
3538
3599
|
"output_type": "execute_result"
|
3539
3600
|
}
|
@@ -3544,18 +3605,18 @@
|
|
3544
3605
|
},
|
3545
3606
|
{
|
3546
3607
|
"cell_type": "code",
|
3547
|
-
"execution_count":
|
3608
|
+
"execution_count": 100,
|
3548
3609
|
"id": "ce35d901-38a8-4f13-b2d1-29b83f6c5438",
|
3549
3610
|
"metadata": {},
|
3550
3611
|
"outputs": [
|
3551
3612
|
{
|
3552
3613
|
"data": {
|
3553
3614
|
"text/plain": [
|
3554
|
-
"#<RedAmber::Vector(:int16, size=3):
|
3615
|
+
"#<RedAmber::Vector(:int16, size=3):0x000000000000f730>\n",
|
3555
3616
|
"[-1, -2, -3]\n"
|
3556
3617
|
]
|
3557
3618
|
},
|
3558
|
-
"execution_count":
|
3619
|
+
"execution_count": 100,
|
3559
3620
|
"metadata": {},
|
3560
3621
|
"output_type": "execute_result"
|
3561
3622
|
}
|
@@ -3567,18 +3628,18 @@
|
|
3567
3628
|
},
|
3568
3629
|
{
|
3569
3630
|
"cell_type": "code",
|
3570
|
-
"execution_count":
|
3631
|
+
"execution_count": 101,
|
3571
3632
|
"id": "7d5fc2be-f590-4678-92e9-faa27b618266",
|
3572
3633
|
"metadata": {},
|
3573
3634
|
"outputs": [
|
3574
3635
|
{
|
3575
3636
|
"data": {
|
3576
3637
|
"text/plain": [
|
3577
|
-
"#<RedAmber::Vector(:int16, size=3):
|
3638
|
+
"#<RedAmber::Vector(:int16, size=3):0x000000000000f744>\n",
|
3578
3639
|
"[-1, -2, -3]\n"
|
3579
3640
|
]
|
3580
3641
|
},
|
3581
|
-
"execution_count":
|
3642
|
+
"execution_count": 101,
|
3582
3643
|
"metadata": {},
|
3583
3644
|
"output_type": "execute_result"
|
3584
3645
|
}
|
@@ -3590,18 +3651,18 @@
|
|
3590
3651
|
},
|
3591
3652
|
{
|
3592
3653
|
"cell_type": "code",
|
3593
|
-
"execution_count":
|
3654
|
+
"execution_count": 102,
|
3594
3655
|
"id": "fa90a6af-add7-42f2-9707-7d726575aeb6",
|
3595
3656
|
"metadata": {},
|
3596
3657
|
"outputs": [
|
3597
3658
|
{
|
3598
3659
|
"data": {
|
3599
3660
|
"text/plain": [
|
3600
|
-
"#<RedAmber::Vector(:uint8, size=3):
|
3661
|
+
"#<RedAmber::Vector(:uint8, size=3):0x000000000000f758>\n",
|
3601
3662
|
"[255, 254, 253]\n"
|
3602
3663
|
]
|
3603
3664
|
},
|
3604
|
-
"execution_count":
|
3665
|
+
"execution_count": 102,
|
3605
3666
|
"metadata": {},
|
3606
3667
|
"output_type": "execute_result"
|
3607
3668
|
}
|
@@ -3631,7 +3692,7 @@
|
|
3631
3692
|
},
|
3632
3693
|
{
|
3633
3694
|
"cell_type": "code",
|
3634
|
-
"execution_count":
|
3695
|
+
"execution_count": 103,
|
3635
3696
|
"id": "b12bd7c8-2981-426c-8ae3-154504a8ea15",
|
3636
3697
|
"metadata": {},
|
3637
3698
|
"outputs": [
|
@@ -3641,7 +3702,7 @@
|
|
3641
3702
|
"[3, 4, 5]"
|
3642
3703
|
]
|
3643
3704
|
},
|
3644
|
-
"execution_count":
|
3705
|
+
"execution_count": 103,
|
3645
3706
|
"metadata": {},
|
3646
3707
|
"output_type": "execute_result"
|
3647
3708
|
}
|
@@ -3652,7 +3713,7 @@
|
|
3652
3713
|
},
|
3653
3714
|
{
|
3654
3715
|
"cell_type": "code",
|
3655
|
-
"execution_count":
|
3716
|
+
"execution_count": 104,
|
3656
3717
|
"id": "c0cb5a98-7cdf-43a8-b2f7-f9df1961c761",
|
3657
3718
|
"metadata": {},
|
3658
3719
|
"outputs": [
|
@@ -3662,7 +3723,7 @@
|
|
3662
3723
|
"[1, 2, 3, 4, 5]"
|
3663
3724
|
]
|
3664
3725
|
},
|
3665
|
-
"execution_count":
|
3726
|
+
"execution_count": 104,
|
3666
3727
|
"metadata": {},
|
3667
3728
|
"output_type": "execute_result"
|
3668
3729
|
}
|
@@ -3691,18 +3752,18 @@
|
|
3691
3752
|
},
|
3692
3753
|
{
|
3693
3754
|
"cell_type": "code",
|
3694
|
-
"execution_count":
|
3755
|
+
"execution_count": 105,
|
3695
3756
|
"id": "d003b06a-859f-4de0-9e35-803efac85169",
|
3696
3757
|
"metadata": {},
|
3697
3758
|
"outputs": [
|
3698
3759
|
{
|
3699
3760
|
"data": {
|
3700
3761
|
"text/plain": [
|
3701
|
-
"#<RedAmber::Vector(:uint8, size=5):
|
3762
|
+
"#<RedAmber::Vector(:uint8, size=5):0x000000000000f76c>\n",
|
3702
3763
|
"[0, 1, 1, 3, 3]\n"
|
3703
3764
|
]
|
3704
3765
|
},
|
3705
|
-
"execution_count":
|
3766
|
+
"execution_count": 105,
|
3706
3767
|
"metadata": {},
|
3707
3768
|
"output_type": "execute_result"
|
3708
3769
|
}
|
@@ -3714,18 +3775,18 @@
|
|
3714
3775
|
},
|
3715
3776
|
{
|
3716
3777
|
"cell_type": "code",
|
3717
|
-
"execution_count":
|
3778
|
+
"execution_count": 106,
|
3718
3779
|
"id": "c5d74006-d364-4e86-8a5e-9e96e87a96e0",
|
3719
3780
|
"metadata": {},
|
3720
3781
|
"outputs": [
|
3721
3782
|
{
|
3722
3783
|
"data": {
|
3723
3784
|
"text/plain": [
|
3724
|
-
"#<RedAmber::Vector(:uint8, size=5):
|
3785
|
+
"#<RedAmber::Vector(:uint8, size=5):0x000000000000f780>\n",
|
3725
3786
|
"[0, 1, 3, 3, nil]\n"
|
3726
3787
|
]
|
3727
3788
|
},
|
3728
|
-
"execution_count":
|
3789
|
+
"execution_count": 106,
|
3729
3790
|
"metadata": {},
|
3730
3791
|
"output_type": "execute_result"
|
3731
3792
|
}
|
@@ -3756,7 +3817,7 @@
|
|
3756
3817
|
},
|
3757
3818
|
{
|
3758
3819
|
"cell_type": "code",
|
3759
|
-
"execution_count":
|
3820
|
+
"execution_count": 107,
|
3760
3821
|
"id": "ebad37ad-0a09-48b1-ba3a-4e030a917837",
|
3761
3822
|
"metadata": {},
|
3762
3823
|
"outputs": [
|
@@ -3766,7 +3827,7 @@
|
|
3766
3827
|
"true"
|
3767
3828
|
]
|
3768
3829
|
},
|
3769
|
-
"execution_count":
|
3830
|
+
"execution_count": 107,
|
3770
3831
|
"metadata": {},
|
3771
3832
|
"output_type": "execute_result"
|
3772
3833
|
}
|
@@ -3778,7 +3839,7 @@
|
|
3778
3839
|
},
|
3779
3840
|
{
|
3780
3841
|
"cell_type": "code",
|
3781
|
-
"execution_count":
|
3842
|
+
"execution_count": 108,
|
3782
3843
|
"id": "97fc24da-03d4-406d-b353-562896775d60",
|
3783
3844
|
"metadata": {},
|
3784
3845
|
"outputs": [
|
@@ -3788,7 +3849,7 @@
|
|
3788
3849
|
"true"
|
3789
3850
|
]
|
3790
3851
|
},
|
3791
|
-
"execution_count":
|
3852
|
+
"execution_count": 108,
|
3792
3853
|
"metadata": {},
|
3793
3854
|
"output_type": "execute_result"
|
3794
3855
|
}
|
@@ -3807,7 +3868,7 @@
|
|
3807
3868
|
},
|
3808
3869
|
{
|
3809
3870
|
"cell_type": "code",
|
3810
|
-
"execution_count":
|
3871
|
+
"execution_count": 109,
|
3811
3872
|
"id": "3e0e5800-665a-4a05-b2cb-d152f3f077de",
|
3812
3873
|
"metadata": {},
|
3813
3874
|
"outputs": [
|
@@ -3817,7 +3878,7 @@
|
|
3817
3878
|
"false"
|
3818
3879
|
]
|
3819
3880
|
},
|
3820
|
-
"execution_count":
|
3881
|
+
"execution_count": 109,
|
3821
3882
|
"metadata": {},
|
3822
3883
|
"output_type": "execute_result"
|
3823
3884
|
}
|
@@ -3828,7 +3889,7 @@
|
|
3828
3889
|
},
|
3829
3890
|
{
|
3830
3891
|
"cell_type": "code",
|
3831
|
-
"execution_count":
|
3892
|
+
"execution_count": 110,
|
3832
3893
|
"id": "3e43f0c4-a254-4735-ac28-de14d2670c67",
|
3833
3894
|
"metadata": {},
|
3834
3895
|
"outputs": [
|
@@ -3838,7 +3899,7 @@
|
|
3838
3899
|
"true"
|
3839
3900
|
]
|
3840
3901
|
},
|
3841
|
-
"execution_count":
|
3902
|
+
"execution_count": 110,
|
3842
3903
|
"metadata": {},
|
3843
3904
|
"output_type": "execute_result"
|
3844
3905
|
}
|
@@ -3869,7 +3930,7 @@
|
|
3869
3930
|
},
|
3870
3931
|
{
|
3871
3932
|
"cell_type": "code",
|
3872
|
-
"execution_count":
|
3933
|
+
"execution_count": 111,
|
3873
3934
|
"id": "2af73e32-1d7e-4f80-b54e-c40ef08b7034",
|
3874
3935
|
"metadata": {},
|
3875
3936
|
"outputs": [
|
@@ -3879,7 +3940,7 @@
|
|
3879
3940
|
"3"
|
3880
3941
|
]
|
3881
3942
|
},
|
3882
|
-
"execution_count":
|
3943
|
+
"execution_count": 111,
|
3883
3944
|
"metadata": {},
|
3884
3945
|
"output_type": "execute_result"
|
3885
3946
|
}
|
@@ -3891,7 +3952,7 @@
|
|
3891
3952
|
},
|
3892
3953
|
{
|
3893
3954
|
"cell_type": "code",
|
3894
|
-
"execution_count":
|
3955
|
+
"execution_count": 112,
|
3895
3956
|
"id": "fe6d8d85-27b0-438f-b1b4-1b15e9eb05f9",
|
3896
3957
|
"metadata": {},
|
3897
3958
|
"outputs": [
|
@@ -3901,7 +3962,7 @@
|
|
3901
3962
|
"2"
|
3902
3963
|
]
|
3903
3964
|
},
|
3904
|
-
"execution_count":
|
3965
|
+
"execution_count": 112,
|
3905
3966
|
"metadata": {},
|
3906
3967
|
"output_type": "execute_result"
|
3907
3968
|
}
|
@@ -3928,7 +3989,7 @@
|
|
3928
3989
|
},
|
3929
3990
|
{
|
3930
3991
|
"cell_type": "code",
|
3931
|
-
"execution_count":
|
3992
|
+
"execution_count": 113,
|
3932
3993
|
"id": "0afec200-f377-432b-a260-ae5a0c5ce794",
|
3933
3994
|
"metadata": {},
|
3934
3995
|
"outputs": [
|
@@ -3938,7 +3999,7 @@
|
|
3938
3999
|
"0.816496580927726"
|
3939
4000
|
]
|
3940
4001
|
},
|
3941
|
-
"execution_count":
|
4002
|
+
"execution_count": 113,
|
3942
4003
|
"metadata": {},
|
3943
4004
|
"output_type": "execute_result"
|
3944
4005
|
}
|
@@ -3950,7 +4011,7 @@
|
|
3950
4011
|
},
|
3951
4012
|
{
|
3952
4013
|
"cell_type": "code",
|
3953
|
-
"execution_count":
|
4014
|
+
"execution_count": 114,
|
3954
4015
|
"id": "2e40ac09-cb7f-4978-87e8-53f84f16f7c7",
|
3955
4016
|
"metadata": {},
|
3956
4017
|
"outputs": [
|
@@ -3960,7 +4021,7 @@
|
|
3960
4021
|
"1.0"
|
3961
4022
|
]
|
3962
4023
|
},
|
3963
|
-
"execution_count":
|
4024
|
+
"execution_count": 114,
|
3964
4025
|
"metadata": {},
|
3965
4026
|
"output_type": "execute_result"
|
3966
4027
|
}
|
@@ -3972,7 +4033,7 @@
|
|
3972
4033
|
},
|
3973
4034
|
{
|
3974
4035
|
"cell_type": "code",
|
3975
|
-
"execution_count":
|
4036
|
+
"execution_count": 115,
|
3976
4037
|
"id": "e6158e3b-4af8-467c-a355-8e9f2e579548",
|
3977
4038
|
"metadata": {},
|
3978
4039
|
"outputs": [
|
@@ -3982,7 +4043,7 @@
|
|
3982
4043
|
"0.6666666666666666"
|
3983
4044
|
]
|
3984
4045
|
},
|
3985
|
-
"execution_count":
|
4046
|
+
"execution_count": 115,
|
3986
4047
|
"metadata": {},
|
3987
4048
|
"output_type": "execute_result"
|
3988
4049
|
}
|
@@ -3993,7 +4054,7 @@
|
|
3993
4054
|
},
|
3994
4055
|
{
|
3995
4056
|
"cell_type": "code",
|
3996
|
-
"execution_count":
|
4057
|
+
"execution_count": 116,
|
3997
4058
|
"id": "d64d39f2-d979-49f1-9946-65890f40d646",
|
3998
4059
|
"metadata": {},
|
3999
4060
|
"outputs": [
|
@@ -4003,7 +4064,7 @@
|
|
4003
4064
|
"1.0"
|
4004
4065
|
]
|
4005
4066
|
},
|
4006
|
-
"execution_count":
|
4067
|
+
"execution_count": 116,
|
4007
4068
|
"metadata": {},
|
4008
4069
|
"output_type": "execute_result"
|
4009
4070
|
}
|
@@ -4031,18 +4092,18 @@
|
|
4031
4092
|
},
|
4032
4093
|
{
|
4033
4094
|
"cell_type": "code",
|
4034
|
-
"execution_count":
|
4095
|
+
"execution_count": 117,
|
4035
4096
|
"id": "ab5a357a-e98c-40a1-9b89-0b38645e416f",
|
4036
4097
|
"metadata": {},
|
4037
4098
|
"outputs": [
|
4038
4099
|
{
|
4039
4100
|
"data": {
|
4040
4101
|
"text/plain": [
|
4041
|
-
"#<RedAmber::Vector(:double, size=3):
|
4102
|
+
"#<RedAmber::Vector(:double, size=3):0x000000000000f794>\n",
|
4042
4103
|
"[-1.0, 2.0, -3.0]\n"
|
4043
4104
|
]
|
4044
4105
|
},
|
4045
|
-
"execution_count":
|
4106
|
+
"execution_count": 117,
|
4046
4107
|
"metadata": {},
|
4047
4108
|
"output_type": "execute_result"
|
4048
4109
|
}
|
@@ -4054,18 +4115,18 @@
|
|
4054
4115
|
},
|
4055
4116
|
{
|
4056
4117
|
"cell_type": "code",
|
4057
|
-
"execution_count":
|
4118
|
+
"execution_count": 118,
|
4058
4119
|
"id": "8a06c856-d61c-4752-a296-1fa207ffd9a1",
|
4059
4120
|
"metadata": {},
|
4060
4121
|
"outputs": [
|
4061
4122
|
{
|
4062
4123
|
"data": {
|
4063
4124
|
"text/plain": [
|
4064
|
-
"#<RedAmber::Vector(:double, size=3):
|
4125
|
+
"#<RedAmber::Vector(:double, size=3):0x000000000000f7a8>\n",
|
4065
4126
|
"[-1.0, 2.0, -3.0]\n"
|
4066
4127
|
]
|
4067
4128
|
},
|
4068
|
-
"execution_count":
|
4129
|
+
"execution_count": 118,
|
4069
4130
|
"metadata": {},
|
4070
4131
|
"output_type": "execute_result"
|
4071
4132
|
}
|
@@ -4098,18 +4159,18 @@
|
|
4098
4159
|
},
|
4099
4160
|
{
|
4100
4161
|
"cell_type": "code",
|
4101
|
-
"execution_count":
|
4162
|
+
"execution_count": 119,
|
4102
4163
|
"id": "e7a069b0-3547-4cd2-a2f0-0740f186b191",
|
4103
4164
|
"metadata": {},
|
4104
4165
|
"outputs": [
|
4105
4166
|
{
|
4106
4167
|
"data": {
|
4107
4168
|
"text/plain": [
|
4108
|
-
"#<RedAmber::Vector(:double, size=5):
|
4169
|
+
"#<RedAmber::Vector(:double, size=5):0x000000000000f7bc>\n",
|
4109
4170
|
"[15.15, 2.5, 3.5, -4.5, -5.5]\n"
|
4110
4171
|
]
|
4111
4172
|
},
|
4112
|
-
"execution_count":
|
4173
|
+
"execution_count": 119,
|
4113
4174
|
"metadata": {},
|
4114
4175
|
"output_type": "execute_result"
|
4115
4176
|
}
|
@@ -4120,18 +4181,18 @@
|
|
4120
4181
|
},
|
4121
4182
|
{
|
4122
4183
|
"cell_type": "code",
|
4123
|
-
"execution_count":
|
4184
|
+
"execution_count": 120,
|
4124
4185
|
"id": "5ee84b24-8830-4788-a404-d5e1cca22abf",
|
4125
4186
|
"metadata": {},
|
4126
4187
|
"outputs": [
|
4127
4188
|
{
|
4128
4189
|
"data": {
|
4129
4190
|
"text/plain": [
|
4130
|
-
"#<RedAmber::Vector(:double, size=5):
|
4191
|
+
"#<RedAmber::Vector(:double, size=5):0x000000000000f7d0>\n",
|
4131
4192
|
"[15.0, 2.0, 4.0, -4.0, -6.0]\n"
|
4132
4193
|
]
|
4133
4194
|
},
|
4134
|
-
"execution_count":
|
4195
|
+
"execution_count": 120,
|
4135
4196
|
"metadata": {},
|
4136
4197
|
"output_type": "execute_result"
|
4137
4198
|
}
|
@@ -4142,18 +4203,18 @@
|
|
4142
4203
|
},
|
4143
4204
|
{
|
4144
4205
|
"cell_type": "code",
|
4145
|
-
"execution_count":
|
4206
|
+
"execution_count": 121,
|
4146
4207
|
"id": "20adb1ad-473c-4245-b959-7848c239fb76",
|
4147
4208
|
"metadata": {},
|
4148
4209
|
"outputs": [
|
4149
4210
|
{
|
4150
4211
|
"data": {
|
4151
4212
|
"text/plain": [
|
4152
|
-
"#<RedAmber::Vector(:double, size=5):
|
4213
|
+
"#<RedAmber::Vector(:double, size=5):0x000000000000f7e4>\n",
|
4153
4214
|
"[15.0, 2.0, 4.0, -4.0, -6.0]\n"
|
4154
4215
|
]
|
4155
4216
|
},
|
4156
|
-
"execution_count":
|
4217
|
+
"execution_count": 121,
|
4157
4218
|
"metadata": {},
|
4158
4219
|
"output_type": "execute_result"
|
4159
4220
|
}
|
@@ -4164,18 +4225,18 @@
|
|
4164
4225
|
},
|
4165
4226
|
{
|
4166
4227
|
"cell_type": "code",
|
4167
|
-
"execution_count":
|
4228
|
+
"execution_count": 122,
|
4168
4229
|
"id": "d2777ad8-2c24-48e4-8f5f-77403e3109ea",
|
4169
4230
|
"metadata": {},
|
4170
4231
|
"outputs": [
|
4171
4232
|
{
|
4172
4233
|
"data": {
|
4173
4234
|
"text/plain": [
|
4174
|
-
"#<RedAmber::Vector(:double, size=5):
|
4235
|
+
"#<RedAmber::Vector(:double, size=5):0x000000000000f7f8>\n",
|
4175
4236
|
"[16.0, 3.0, 4.0, -5.0, -6.0]\n"
|
4176
4237
|
]
|
4177
4238
|
},
|
4178
|
-
"execution_count":
|
4239
|
+
"execution_count": 122,
|
4179
4240
|
"metadata": {},
|
4180
4241
|
"output_type": "execute_result"
|
4181
4242
|
}
|
@@ -4186,18 +4247,18 @@
|
|
4186
4247
|
},
|
4187
4248
|
{
|
4188
4249
|
"cell_type": "code",
|
4189
|
-
"execution_count":
|
4250
|
+
"execution_count": 123,
|
4190
4251
|
"id": "a8ab2735-74cb-4cfe-a5a2-61bfa90c72ac",
|
4191
4252
|
"metadata": {},
|
4192
4253
|
"outputs": [
|
4193
4254
|
{
|
4194
4255
|
"data": {
|
4195
4256
|
"text/plain": [
|
4196
|
-
"#<RedAmber::Vector(:double, size=5):
|
4257
|
+
"#<RedAmber::Vector(:double, size=5):0x000000000000f80c>\n",
|
4197
4258
|
"[15.0, 3.0, 4.0, -4.0, -5.0]\n"
|
4198
4259
|
]
|
4199
4260
|
},
|
4200
|
-
"execution_count":
|
4261
|
+
"execution_count": 123,
|
4201
4262
|
"metadata": {},
|
4202
4263
|
"output_type": "execute_result"
|
4203
4264
|
}
|
@@ -4208,18 +4269,18 @@
|
|
4208
4269
|
},
|
4209
4270
|
{
|
4210
4271
|
"cell_type": "code",
|
4211
|
-
"execution_count":
|
4272
|
+
"execution_count": 124,
|
4212
4273
|
"id": "3575481c-40ed-405f-a69c-7581d4dce2cf",
|
4213
4274
|
"metadata": {},
|
4214
4275
|
"outputs": [
|
4215
4276
|
{
|
4216
4277
|
"data": {
|
4217
4278
|
"text/plain": [
|
4218
|
-
"#<RedAmber::Vector(:double, size=5):
|
4279
|
+
"#<RedAmber::Vector(:double, size=5):0x000000000000f820>\n",
|
4219
4280
|
"[15.0, 2.0, 3.0, -4.0, -5.0]\n"
|
4220
4281
|
]
|
4221
4282
|
},
|
4222
|
-
"execution_count":
|
4283
|
+
"execution_count": 124,
|
4223
4284
|
"metadata": {},
|
4224
4285
|
"output_type": "execute_result"
|
4225
4286
|
}
|
@@ -4230,18 +4291,18 @@
|
|
4230
4291
|
},
|
4231
4292
|
{
|
4232
4293
|
"cell_type": "code",
|
4233
|
-
"execution_count":
|
4294
|
+
"execution_count": 125,
|
4234
4295
|
"id": "a86e4c5c-aced-4a88-b692-4e26b90f1653",
|
4235
4296
|
"metadata": {},
|
4236
4297
|
"outputs": [
|
4237
4298
|
{
|
4238
4299
|
"data": {
|
4239
4300
|
"text/plain": [
|
4240
|
-
"#<RedAmber::Vector(:double, size=5):
|
4301
|
+
"#<RedAmber::Vector(:double, size=5):0x000000000000f834>\n",
|
4241
4302
|
"[15.0, 3.0, 4.0, -5.0, -6.0]\n"
|
4242
4303
|
]
|
4243
4304
|
},
|
4244
|
-
"execution_count":
|
4305
|
+
"execution_count": 125,
|
4245
4306
|
"metadata": {},
|
4246
4307
|
"output_type": "execute_result"
|
4247
4308
|
}
|
@@ -4252,18 +4313,18 @@
|
|
4252
4313
|
},
|
4253
4314
|
{
|
4254
4315
|
"cell_type": "code",
|
4255
|
-
"execution_count":
|
4316
|
+
"execution_count": 126,
|
4256
4317
|
"id": "73f51bab-ff46-4b99-96a5-8c6547ad9d35",
|
4257
4318
|
"metadata": {},
|
4258
4319
|
"outputs": [
|
4259
4320
|
{
|
4260
4321
|
"data": {
|
4261
4322
|
"text/plain": [
|
4262
|
-
"#<RedAmber::Vector(:double, size=5):
|
4323
|
+
"#<RedAmber::Vector(:double, size=5):0x000000000000f848>\n",
|
4263
4324
|
"[15.0, 3.0, 3.0, -5.0, -5.0]\n"
|
4264
4325
|
]
|
4265
4326
|
},
|
4266
|
-
"execution_count":
|
4327
|
+
"execution_count": 126,
|
4267
4328
|
"metadata": {},
|
4268
4329
|
"output_type": "execute_result"
|
4269
4330
|
}
|
@@ -4274,18 +4335,18 @@
|
|
4274
4335
|
},
|
4275
4336
|
{
|
4276
4337
|
"cell_type": "code",
|
4277
|
-
"execution_count":
|
4338
|
+
"execution_count": 127,
|
4278
4339
|
"id": "a12c684c-4a63-4dac-a81b-969978812a24",
|
4279
4340
|
"metadata": {},
|
4280
4341
|
"outputs": [
|
4281
4342
|
{
|
4282
4343
|
"data": {
|
4283
4344
|
"text/plain": [
|
4284
|
-
"#<RedAmber::Vector(:double, size=5):
|
4345
|
+
"#<RedAmber::Vector(:double, size=5):0x000000000000f85c>\n",
|
4285
4346
|
"[15.0, 2.0, 4.0, -4.0, -6.0]\n"
|
4286
4347
|
]
|
4287
4348
|
},
|
4288
|
-
"execution_count":
|
4349
|
+
"execution_count": 127,
|
4289
4350
|
"metadata": {},
|
4290
4351
|
"output_type": "execute_result"
|
4291
4352
|
}
|
@@ -4296,18 +4357,18 @@
|
|
4296
4357
|
},
|
4297
4358
|
{
|
4298
4359
|
"cell_type": "code",
|
4299
|
-
"execution_count":
|
4360
|
+
"execution_count": 128,
|
4300
4361
|
"id": "17370f2b-0957-411b-8145-56aa9fc956ac",
|
4301
4362
|
"metadata": {},
|
4302
4363
|
"outputs": [
|
4303
4364
|
{
|
4304
4365
|
"data": {
|
4305
4366
|
"text/plain": [
|
4306
|
-
"#<RedAmber::Vector(:double, size=5):
|
4367
|
+
"#<RedAmber::Vector(:double, size=5):0x000000000000f870>\n",
|
4307
4368
|
"[15.2, 2.5, 3.5, -4.5, -5.5]\n"
|
4308
4369
|
]
|
4309
4370
|
},
|
4310
|
-
"execution_count":
|
4371
|
+
"execution_count": 128,
|
4311
4372
|
"metadata": {},
|
4312
4373
|
"output_type": "execute_result"
|
4313
4374
|
}
|
@@ -4318,18 +4379,18 @@
|
|
4318
4379
|
},
|
4319
4380
|
{
|
4320
4381
|
"cell_type": "code",
|
4321
|
-
"execution_count":
|
4382
|
+
"execution_count": 129,
|
4322
4383
|
"id": "53072cff-b28b-4672-b30a-8ca37562bc21",
|
4323
4384
|
"metadata": {},
|
4324
4385
|
"outputs": [
|
4325
4386
|
{
|
4326
4387
|
"data": {
|
4327
4388
|
"text/plain": [
|
4328
|
-
"#<RedAmber::Vector(:double, size=5):
|
4389
|
+
"#<RedAmber::Vector(:double, size=5):0x000000000000f884>\n",
|
4329
4390
|
"[20.0, 0.0, 0.0, -0.0, -10.0]\n"
|
4330
4391
|
]
|
4331
4392
|
},
|
4332
|
-
"execution_count":
|
4393
|
+
"execution_count": 129,
|
4333
4394
|
"metadata": {},
|
4334
4395
|
"output_type": "execute_result"
|
4335
4396
|
}
|
@@ -4358,18 +4419,18 @@
|
|
4358
4419
|
},
|
4359
4420
|
{
|
4360
4421
|
"cell_type": "code",
|
4361
|
-
"execution_count":
|
4422
|
+
"execution_count": 130,
|
4362
4423
|
"id": "2d4f5853-1ed9-4d8b-87a9-b5c1faac5fae",
|
4363
4424
|
"metadata": {},
|
4364
4425
|
"outputs": [
|
4365
4426
|
{
|
4366
4427
|
"data": {
|
4367
4428
|
"text/plain": [
|
4368
|
-
"#<RedAmber::Vector(:boolean, size=9):
|
4429
|
+
"#<RedAmber::Vector(:boolean, size=9):0x000000000000f898>\n",
|
4369
4430
|
"[true, false, nil, false, false, false, nil, false, nil]\n"
|
4370
4431
|
]
|
4371
4432
|
},
|
4372
|
-
"execution_count":
|
4433
|
+
"execution_count": 130,
|
4373
4434
|
"metadata": {},
|
4374
4435
|
"output_type": "execute_result"
|
4375
4436
|
}
|
@@ -4383,18 +4444,18 @@
|
|
4383
4444
|
},
|
4384
4445
|
{
|
4385
4446
|
"cell_type": "code",
|
4386
|
-
"execution_count":
|
4447
|
+
"execution_count": 131,
|
4387
4448
|
"id": "236c9733-8d45-467e-b288-e6c18b9c39d2",
|
4388
4449
|
"metadata": {},
|
4389
4450
|
"outputs": [
|
4390
4451
|
{
|
4391
4452
|
"data": {
|
4392
4453
|
"text/plain": [
|
4393
|
-
"#<RedAmber::Vector(:boolean, size=9):
|
4454
|
+
"#<RedAmber::Vector(:boolean, size=9):0x000000000000f8ac>\n",
|
4394
4455
|
"[true, false, nil, true, false, nil, true, false, nil]\n"
|
4395
4456
|
]
|
4396
4457
|
},
|
4397
|
-
"execution_count":
|
4458
|
+
"execution_count": 131,
|
4398
4459
|
"metadata": {},
|
4399
4460
|
"output_type": "execute_result"
|
4400
4461
|
}
|
@@ -4406,18 +4467,18 @@
|
|
4406
4467
|
},
|
4407
4468
|
{
|
4408
4469
|
"cell_type": "code",
|
4409
|
-
"execution_count":
|
4470
|
+
"execution_count": 132,
|
4410
4471
|
"id": "4e984a9c-7d9c-465d-bf26-0c685dedd4bf",
|
4411
4472
|
"metadata": {},
|
4412
4473
|
"outputs": [
|
4413
4474
|
{
|
4414
4475
|
"data": {
|
4415
4476
|
"text/plain": [
|
4416
|
-
"#<RedAmber::Vector(:boolean, size=9):
|
4477
|
+
"#<RedAmber::Vector(:boolean, size=9):0x000000000000f8c0>\n",
|
4417
4478
|
"[true, false, nil, false, false, nil, nil, nil, nil]\n"
|
4418
4479
|
]
|
4419
4480
|
},
|
4420
|
-
"execution_count":
|
4481
|
+
"execution_count": 132,
|
4421
4482
|
"metadata": {},
|
4422
4483
|
"output_type": "execute_result"
|
4423
4484
|
}
|
@@ -4429,18 +4490,18 @@
|
|
4429
4490
|
},
|
4430
4491
|
{
|
4431
4492
|
"cell_type": "code",
|
4432
|
-
"execution_count":
|
4493
|
+
"execution_count": 133,
|
4433
4494
|
"id": "0120ebf5-355d-41f5-83d5-49b9802f337b",
|
4434
4495
|
"metadata": {},
|
4435
4496
|
"outputs": [
|
4436
4497
|
{
|
4437
4498
|
"data": {
|
4438
4499
|
"text/plain": [
|
4439
|
-
"#<RedAmber::Vector(:boolean, size=9):
|
4500
|
+
"#<RedAmber::Vector(:boolean, size=9):0x000000000000f8d4>\n",
|
4440
4501
|
"[true, true, true, true, false, nil, true, nil, nil]\n"
|
4441
4502
|
]
|
4442
4503
|
},
|
4443
|
-
"execution_count":
|
4504
|
+
"execution_count": 133,
|
4444
4505
|
"metadata": {},
|
4445
4506
|
"output_type": "execute_result"
|
4446
4507
|
}
|
@@ -4451,18 +4512,18 @@
|
|
4451
4512
|
},
|
4452
4513
|
{
|
4453
4514
|
"cell_type": "code",
|
4454
|
-
"execution_count":
|
4515
|
+
"execution_count": 134,
|
4455
4516
|
"id": "24ceee23-79df-4fcd-afd8-f3839a087785",
|
4456
4517
|
"metadata": {},
|
4457
4518
|
"outputs": [
|
4458
4519
|
{
|
4459
4520
|
"data": {
|
4460
4521
|
"text/plain": [
|
4461
|
-
"#<RedAmber::Vector(:boolean, size=9):
|
4522
|
+
"#<RedAmber::Vector(:boolean, size=9):0x000000000000f8e8>\n",
|
4462
4523
|
"[true, true, true, false, false, false, nil, nil, nil]\n"
|
4463
4524
|
]
|
4464
4525
|
},
|
4465
|
-
"execution_count":
|
4526
|
+
"execution_count": 134,
|
4466
4527
|
"metadata": {},
|
4467
4528
|
"output_type": "execute_result"
|
4468
4529
|
}
|
@@ -4474,18 +4535,18 @@
|
|
4474
4535
|
},
|
4475
4536
|
{
|
4476
4537
|
"cell_type": "code",
|
4477
|
-
"execution_count":
|
4538
|
+
"execution_count": 135,
|
4478
4539
|
"id": "c152d04b-71a0-4b18-acd1-b5ab9e413d00",
|
4479
4540
|
"metadata": {},
|
4480
4541
|
"outputs": [
|
4481
4542
|
{
|
4482
4543
|
"data": {
|
4483
4544
|
"text/plain": [
|
4484
|
-
"#<RedAmber::Vector(:boolean, size=9):
|
4545
|
+
"#<RedAmber::Vector(:boolean, size=9):0x000000000000f8fc>\n",
|
4485
4546
|
"[true, true, nil, true, false, nil, nil, nil, nil]\n"
|
4486
4547
|
]
|
4487
4548
|
},
|
4488
|
-
"execution_count":
|
4549
|
+
"execution_count": 135,
|
4489
4550
|
"metadata": {},
|
4490
4551
|
"output_type": "execute_result"
|
4491
4552
|
}
|
@@ -4513,18 +4574,18 @@
|
|
4513
4574
|
},
|
4514
4575
|
{
|
4515
4576
|
"cell_type": "code",
|
4516
|
-
"execution_count":
|
4577
|
+
"execution_count": 136,
|
4517
4578
|
"id": "19558f9e-fdc4-46e5-90d0-724e4e8fbd8e",
|
4518
4579
|
"metadata": {},
|
4519
4580
|
"outputs": [
|
4520
4581
|
{
|
4521
4582
|
"data": {
|
4522
4583
|
"text/plain": [
|
4523
|
-
"#<RedAmber::Vector(:double, size=5):
|
4584
|
+
"#<RedAmber::Vector(:double, size=5):0x000000000000f910>\n",
|
4524
4585
|
"[3.141592653589793, Infinity, -Infinity, NaN, nil]\n"
|
4525
4586
|
]
|
4526
4587
|
},
|
4527
|
-
"execution_count":
|
4588
|
+
"execution_count": 136,
|
4528
4589
|
"metadata": {},
|
4529
4590
|
"output_type": "execute_result"
|
4530
4591
|
}
|
@@ -4535,18 +4596,18 @@
|
|
4535
4596
|
},
|
4536
4597
|
{
|
4537
4598
|
"cell_type": "code",
|
4538
|
-
"execution_count":
|
4599
|
+
"execution_count": 137,
|
4539
4600
|
"id": "d90a7168-1f87-4363-9589-c1f161babc7d",
|
4540
4601
|
"metadata": {},
|
4541
4602
|
"outputs": [
|
4542
4603
|
{
|
4543
4604
|
"data": {
|
4544
4605
|
"text/plain": [
|
4545
|
-
"#<RedAmber::Vector(:boolean, size=5):
|
4606
|
+
"#<RedAmber::Vector(:boolean, size=5):0x000000000000f924>\n",
|
4546
4607
|
"[true, false, false, false, nil]\n"
|
4547
4608
|
]
|
4548
4609
|
},
|
4549
|
-
"execution_count":
|
4610
|
+
"execution_count": 137,
|
4550
4611
|
"metadata": {},
|
4551
4612
|
"output_type": "execute_result"
|
4552
4613
|
}
|
@@ -4557,18 +4618,18 @@
|
|
4557
4618
|
},
|
4558
4619
|
{
|
4559
4620
|
"cell_type": "code",
|
4560
|
-
"execution_count":
|
4621
|
+
"execution_count": 138,
|
4561
4622
|
"id": "7d88049b-695f-4b0c-a105-8fb5797a58b1",
|
4562
4623
|
"metadata": {},
|
4563
4624
|
"outputs": [
|
4564
4625
|
{
|
4565
4626
|
"data": {
|
4566
4627
|
"text/plain": [
|
4567
|
-
"#<RedAmber::Vector(:boolean, size=5):
|
4628
|
+
"#<RedAmber::Vector(:boolean, size=5):0x000000000000f938>\n",
|
4568
4629
|
"[false, true, true, false, nil]\n"
|
4569
4630
|
]
|
4570
4631
|
},
|
4571
|
-
"execution_count":
|
4632
|
+
"execution_count": 138,
|
4572
4633
|
"metadata": {},
|
4573
4634
|
"output_type": "execute_result"
|
4574
4635
|
}
|
@@ -4579,18 +4640,18 @@
|
|
4579
4640
|
},
|
4580
4641
|
{
|
4581
4642
|
"cell_type": "code",
|
4582
|
-
"execution_count":
|
4643
|
+
"execution_count": 139,
|
4583
4644
|
"id": "7d86a7b5-84bf-4031-9811-4076281920cf",
|
4584
4645
|
"metadata": {},
|
4585
4646
|
"outputs": [
|
4586
4647
|
{
|
4587
4648
|
"data": {
|
4588
4649
|
"text/plain": [
|
4589
|
-
"#<RedAmber::Vector(:boolean, size=5):
|
4650
|
+
"#<RedAmber::Vector(:boolean, size=5):0x000000000000f94c>\n",
|
4590
4651
|
"[false, false, false, true, true]\n"
|
4591
4652
|
]
|
4592
4653
|
},
|
4593
|
-
"execution_count":
|
4654
|
+
"execution_count": 139,
|
4594
4655
|
"metadata": {},
|
4595
4656
|
"output_type": "execute_result"
|
4596
4657
|
}
|
@@ -4601,18 +4662,18 @@
|
|
4601
4662
|
},
|
4602
4663
|
{
|
4603
4664
|
"cell_type": "code",
|
4604
|
-
"execution_count":
|
4665
|
+
"execution_count": 140,
|
4605
4666
|
"id": "d562f826-7a37-4c57-8f92-777555987246",
|
4606
4667
|
"metadata": {},
|
4607
4668
|
"outputs": [
|
4608
4669
|
{
|
4609
4670
|
"data": {
|
4610
4671
|
"text/plain": [
|
4611
|
-
"#<RedAmber::Vector(:boolean, size=5):
|
4672
|
+
"#<RedAmber::Vector(:boolean, size=5):0x000000000000f960>\n",
|
4612
4673
|
"[false, false, false, false, true]\n"
|
4613
4674
|
]
|
4614
4675
|
},
|
4615
|
-
"execution_count":
|
4676
|
+
"execution_count": 140,
|
4616
4677
|
"metadata": {},
|
4617
4678
|
"output_type": "execute_result"
|
4618
4679
|
}
|
@@ -4623,18 +4684,18 @@
|
|
4623
4684
|
},
|
4624
4685
|
{
|
4625
4686
|
"cell_type": "code",
|
4626
|
-
"execution_count":
|
4687
|
+
"execution_count": 141,
|
4627
4688
|
"id": "e460dc6b-e48f-4462-9ce8-aa6069ebae27",
|
4628
4689
|
"metadata": {},
|
4629
4690
|
"outputs": [
|
4630
4691
|
{
|
4631
4692
|
"data": {
|
4632
4693
|
"text/plain": [
|
4633
|
-
"#<RedAmber::Vector(:boolean, size=5):
|
4694
|
+
"#<RedAmber::Vector(:boolean, size=5):0x000000000000f974>\n",
|
4634
4695
|
"[true, true, true, true, false]\n"
|
4635
4696
|
]
|
4636
4697
|
},
|
4637
|
-
"execution_count":
|
4698
|
+
"execution_count": 141,
|
4638
4699
|
"metadata": {},
|
4639
4700
|
"output_type": "execute_result"
|
4640
4701
|
}
|
@@ -4653,8 +4714,8 @@
|
|
4653
4714
|
},
|
4654
4715
|
{
|
4655
4716
|
"cell_type": "code",
|
4656
|
-
"execution_count":
|
4657
|
-
"id": "
|
4717
|
+
"execution_count": 142,
|
4718
|
+
"id": "0751e820-a22d-45b5-9005-df523d2353be",
|
4658
4719
|
"metadata": {},
|
4659
4720
|
"outputs": [
|
4660
4721
|
{
|
@@ -4663,7 +4724,7 @@
|
|
4663
4724
|
"RedAmber::DataFrame <68 x 9 vectors> <table><tr><th>index</th><th>species</th><th>island</th><th>bill_length_mm</th><th>bill_depth_mm</th><th>flipper_length_mm</th><th>body_mass_g</th><th>sex</th><th>year</th></tr><tr><td>2</td><td>Adelie</td><td>Torgersen</td><td>39.5</td><td>17.4</td><td>186</td><td>3800</td><td>female</td><td>2007</td></tr><tr><td>3</td><td>Adelie</td><td>Torgersen</td><td>40.3</td><td>18.0</td><td>195</td><td>3250</td><td>female</td><td>2007</td></tr><tr><td>5</td><td>Adelie</td><td>Torgersen</td><td>36.7</td><td>19.3</td><td>193</td><td>3450</td><td>female</td><td>2007</td></tr><tr><td>7</td><td>Adelie</td><td>Torgersen</td><td>38.9</td><td>17.8</td><td>181</td><td>3625</td><td>female</td><td>2007</td></tr><tr><td colspan='9'>⋮</td></tr><tr><td>317</td><td>Gentoo</td><td>Biscoe</td><td>49.4</td><td>15.8</td><td>216</td><td>4925</td><td>male</td><td>2009</td></tr><tr><td>331</td><td>Gentoo</td><td>Biscoe</td><td>50.5</td><td>15.2</td><td>216</td><td>5000</td><td>female</td><td>2009</td></tr><tr><td>337</td><td>Gentoo</td><td>Biscoe</td><td>44.5</td><td>15.7</td><td>217</td><td>4875</td><td><i>(nil)</i></td><td>2009</td></tr></table>"
|
4664
4725
|
],
|
4665
4726
|
"text/plain": [
|
4666
|
-
"#<RedAmber::DataFrame : 68 x 9 Vectors,
|
4727
|
+
"#<RedAmber::DataFrame : 68 x 9 Vectors, 0x000000000000f988>\n",
|
4667
4728
|
" index species island bill_length_mm bill_depth_mm flipper_length_mm ... year\n",
|
4668
4729
|
" <uint16> <string> <string> <double> <double> <uint8> ... <uint16>\n",
|
4669
4730
|
" 1 2 Adelie Torgersen 39.5 17.4 186 ... 2007\n",
|
@@ -4677,7 +4738,7 @@
|
|
4677
4738
|
"68 337 Gentoo Biscoe 44.5 15.7 217 ... 2009\n"
|
4678
4739
|
]
|
4679
4740
|
},
|
4680
|
-
"execution_count":
|
4741
|
+
"execution_count": 142,
|
4681
4742
|
"metadata": {},
|
4682
4743
|
"output_type": "execute_result"
|
4683
4744
|
}
|
@@ -4685,11 +4746,8 @@
|
|
4685
4746
|
"source": [
|
4686
4747
|
"# prime-th rows ... Don't ask me what it means.\n",
|
4687
4748
|
"require 'prime'\n",
|
4688
|
-
"
|
4689
|
-
"
|
4690
|
-
" { index: Vector.new(penguins.indices) + 1 }\n",
|
4691
|
-
" end.pick { [keys[-1], keys[0..-2]] }\n",
|
4692
|
-
"penguins_with_index.slice { Vector.new(Prime.each(size).to_a) - 1 }"
|
4749
|
+
"penguins.assign_left(:index, Vector.new(penguins.indices) + 1) # since 0.2.0\n",
|
4750
|
+
" .slice { Vector.new(Prime.each(size).to_a) - 1 }"
|
4693
4751
|
]
|
4694
4752
|
},
|
4695
4753
|
{
|
@@ -4710,7 +4768,7 @@
|
|
4710
4768
|
},
|
4711
4769
|
{
|
4712
4770
|
"cell_type": "code",
|
4713
|
-
"execution_count":
|
4771
|
+
"execution_count": 143,
|
4714
4772
|
"id": "b2a118fa-f3c0-4f31-9b45-6db27ccbebe6",
|
4715
4773
|
"metadata": {},
|
4716
4774
|
"outputs": [
|
@@ -4720,7 +4778,7 @@
|
|
4720
4778
|
"RedAmber::DataFrame <35 x 8 vectors> <table><tr><th>species</th><th>island</th><th>bill_length_mm</th><th>bill_depth_mm</th><th>flipper_length_mm</th><th>body_mass_g</th><th>sex</th><th>year</th></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.1</td><td>18.7</td><td>181</td><td>3750</td><td>male</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>37.8</td><td>17.1</td><td>186</td><td>3300</td><td><i>(nil)</i></td><td>2007</td></tr><tr><td>Adelie</td><td>Biscoe</td><td>37.8</td><td>18.3</td><td>174</td><td>3400</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Dream</td><td>39.5</td><td>16.7</td><td>178</td><td>3250</td><td>female</td><td>2007</td></tr><tr><td colspan='8'>⋮</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>48.5</td><td>15.0</td><td>219</td><td>4850</td><td>female</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>50.5</td><td>15.2</td><td>216</td><td>5000</td><td>female</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>46.8</td><td>14.3</td><td>215</td><td>4850</td><td>female</td><td>2009</td></tr></table>"
|
4721
4779
|
],
|
4722
4780
|
"text/plain": [
|
4723
|
-
"#<RedAmber::DataFrame : 35 x 8 Vectors,
|
4781
|
+
"#<RedAmber::DataFrame : 35 x 8 Vectors, 0x000000000000f99c>\n",
|
4724
4782
|
" species island bill_length_mm bill_depth_mm flipper_length_mm ... year\n",
|
4725
4783
|
" <string> <string> <double> <double> <uint8> ... <uint16>\n",
|
4726
4784
|
" 1 Adelie Torgersen 39.1 18.7 181 ... 2007\n",
|
@@ -4734,7 +4792,7 @@
|
|
4734
4792
|
"35 Gentoo Biscoe 46.8 14.3 215 ... 2009\n"
|
4735
4793
|
]
|
4736
4794
|
},
|
4737
|
-
"execution_count":
|
4795
|
+
"execution_count": 143,
|
4738
4796
|
"metadata": {},
|
4739
4797
|
"output_type": "execute_result"
|
4740
4798
|
}
|
@@ -4762,7 +4820,7 @@
|
|
4762
4820
|
},
|
4763
4821
|
{
|
4764
4822
|
"cell_type": "code",
|
4765
|
-
"execution_count":
|
4823
|
+
"execution_count": 144,
|
4766
4824
|
"id": "a721804b-006e-44c6-8d38-885eae747eaa",
|
4767
4825
|
"metadata": {},
|
4768
4826
|
"outputs": [
|
@@ -4772,7 +4830,7 @@
|
|
4772
4830
|
"RedAmber::DataFrame <344 x 8 vectors> <table><tr><th>species</th><th>island</th><th>bill_length_mm</th><th>bill_depth_mm</th><th>flipper_length_mm</th><th>body_mass_g</th><th>sex</th><th>year</th></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.1</td><td>18.7</td><td>181</td><td>3750</td><td>male</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>39.5</td><td>17.4</td><td>186</td><td>3800</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td>40.3</td><td>18.0</td><td>195</td><td>3250</td><td>female</td><td>2007</td></tr><tr><td>Adelie</td><td>Torgersen</td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td><i>(nil)</i></td><td>2007</td></tr><tr><td colspan='8'>⋮</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>50.4</td><td>15.7</td><td>222</td><td>5750</td><td>male</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>45.2</td><td>14.8</td><td>212</td><td>5200</td><td>female</td><td>2009</td></tr><tr><td>Gentoo</td><td>Biscoe</td><td>49.9</td><td>16.1</td><td>213</td><td>5400</td><td>male</td><td>2009</td></tr></table>"
|
4773
4831
|
],
|
4774
4832
|
"text/plain": [
|
4775
|
-
"#<RedAmber::DataFrame : 344 x 8 Vectors,
|
4833
|
+
"#<RedAmber::DataFrame : 344 x 8 Vectors, 0x000000000000f2bc>\n",
|
4776
4834
|
" species island bill_length_mm bill_depth_mm flipper_length_mm ... year\n",
|
4777
4835
|
" <string> <string> <double> <double> <uint8> ... <uint16>\n",
|
4778
4836
|
" 1 Adelie Torgersen 39.1 18.7 181 ... 2007\n",
|
@@ -4786,7 +4844,7 @@
|
|
4786
4844
|
"344 Gentoo Biscoe 49.9 16.1 213 ... 2009\n"
|
4787
4845
|
]
|
4788
4846
|
},
|
4789
|
-
"execution_count":
|
4847
|
+
"execution_count": 144,
|
4790
4848
|
"metadata": {},
|
4791
4849
|
"output_type": "execute_result"
|
4792
4850
|
}
|
@@ -4798,7 +4856,7 @@
|
|
4798
4856
|
},
|
4799
4857
|
{
|
4800
4858
|
"cell_type": "code",
|
4801
|
-
"execution_count":
|
4859
|
+
"execution_count": 145,
|
4802
4860
|
"id": "e4c9f70c-a4b1-4a81-bbc4-e9b14a6b6cb0",
|
4803
4861
|
"metadata": {},
|
4804
4862
|
"outputs": [
|
@@ -4806,7 +4864,7 @@
|
|
4806
4864
|
"name": "stdout",
|
4807
4865
|
"output_type": "stream",
|
4808
4866
|
"text": [
|
4809
|
-
"#<RedAmber::DataFrame : 344 x 8 Vectors,
|
4867
|
+
"#<RedAmber::DataFrame : 344 x 8 Vectors, 0x000000000000f2bc>\n",
|
4810
4868
|
"Vectors : 5 numeric, 3 strings\n",
|
4811
4869
|
"# key type level data_preview\n",
|
4812
4870
|
"1 :species string 3 {\"Adelie\"=>152, \"Chinstrap\"=>68, \"Gentoo\"=>124}\n",
|
@@ -4824,7 +4882,7 @@
|
|
4824
4882
|
},
|
4825
4883
|
{
|
4826
4884
|
"cell_type": "code",
|
4827
|
-
"execution_count":
|
4885
|
+
"execution_count": 146,
|
4828
4886
|
"id": "2786e9a7-e321-43c5-b56e-9f2ca9d62f8b",
|
4829
4887
|
"metadata": {},
|
4830
4888
|
"outputs": [
|
@@ -4844,7 +4902,7 @@
|
|
4844
4902
|
"8 :year uint16 3 {2007=>110, 2008=>114, 2009=>120}\n"
|
4845
4903
|
]
|
4846
4904
|
},
|
4847
|
-
"execution_count":
|
4905
|
+
"execution_count": 146,
|
4848
4906
|
"metadata": {},
|
4849
4907
|
"output_type": "execute_result"
|
4850
4908
|
}
|
@@ -4855,7 +4913,7 @@
|
|
4855
4913
|
},
|
4856
4914
|
{
|
4857
4915
|
"cell_type": "code",
|
4858
|
-
"execution_count":
|
4916
|
+
"execution_count": 147,
|
4859
4917
|
"id": "b00c858b-b14a-492b-bc22-d6a707bcc1ba",
|
4860
4918
|
"metadata": {},
|
4861
4919
|
"outputs": [
|
@@ -4865,7 +4923,7 @@
|
|
4865
4923
|
"\"Table\""
|
4866
4924
|
]
|
4867
4925
|
},
|
4868
|
-
"execution_count":
|
4926
|
+
"execution_count": 147,
|
4869
4927
|
"metadata": {},
|
4870
4928
|
"output_type": "execute_result"
|
4871
4929
|
}
|
@@ -4896,7 +4954,7 @@
|
|
4896
4954
|
},
|
4897
4955
|
{
|
4898
4956
|
"cell_type": "code",
|
4899
|
-
"execution_count":
|
4957
|
+
"execution_count": 148,
|
4900
4958
|
"id": "13569004-bb23-45fa-8d11-fe5f367641a6",
|
4901
4959
|
"metadata": {},
|
4902
4960
|
"outputs": [
|
@@ -4906,14 +4964,14 @@
|
|
4906
4964
|
"RedAmber::DataFrame <2 x 2 vectors> <table><tr><th>unnamed2</th><th>unnamed1</th></tr><tr><td>1</td><td>3</td></tr><tr><td>2</td><td>4</td></tr></table>"
|
4907
4965
|
],
|
4908
4966
|
"text/plain": [
|
4909
|
-
"#<RedAmber::DataFrame : 2 x 2 Vectors,
|
4967
|
+
"#<RedAmber::DataFrame : 2 x 2 Vectors, 0x000000000000f9b0>\n",
|
4910
4968
|
" unnamed2 unnamed1\n",
|
4911
4969
|
" <uint8> <uint8>\n",
|
4912
4970
|
"1 1 3\n",
|
4913
4971
|
"2 2 4\n"
|
4914
4972
|
]
|
4915
4973
|
},
|
4916
|
-
"execution_count":
|
4974
|
+
"execution_count": 148,
|
4917
4975
|
"metadata": {},
|
4918
4976
|
"output_type": "execute_result"
|
4919
4977
|
}
|
@@ -4944,18 +5002,18 @@
|
|
4944
5002
|
},
|
4945
5003
|
{
|
4946
5004
|
"cell_type": "code",
|
4947
|
-
"execution_count":
|
5005
|
+
"execution_count": 149,
|
4948
5006
|
"id": "ee602e52-7988-4fab-b5e3-c466acf01c98",
|
4949
5007
|
"metadata": {},
|
4950
5008
|
"outputs": [
|
4951
5009
|
{
|
4952
5010
|
"data": {
|
4953
5011
|
"text/plain": [
|
4954
|
-
"#<RedAmber::Group:
|
5012
|
+
"#<RedAmber::Group:0x000000000000f9c4\n",
|
4955
5013
|
"{:species=>{\"Adelie\"=>152, \"Chinstrap\"=>68, \"Gentoo\"=>124}}>"
|
4956
5014
|
]
|
4957
5015
|
},
|
4958
|
-
"execution_count":
|
5016
|
+
"execution_count": 149,
|
4959
5017
|
"metadata": {},
|
4960
5018
|
"output_type": "execute_result"
|
4961
5019
|
}
|
@@ -4976,7 +5034,7 @@
|
|
4976
5034
|
},
|
4977
5035
|
{
|
4978
5036
|
"cell_type": "code",
|
4979
|
-
"execution_count":
|
5037
|
+
"execution_count": 150,
|
4980
5038
|
"id": "20b23ada-b895-4921-b57b-8d46b451e494",
|
4981
5039
|
"metadata": {},
|
4982
5040
|
"outputs": [
|
@@ -4986,7 +5044,7 @@
|
|
4986
5044
|
"RedAmber::DataFrame <3 x 8 vectors> <table><tr><th>species</th><th>count(island)</th><th>count(bill_length_mm)</th><th>count(bill_depth_mm)</th><th>count(flipper_length_mm)</th><th>count(body_mass_g)</th><th>count(sex)</th><th>count(year)</th></tr><tr><td>Adelie</td><td>152</td><td>151</td><td>151</td><td>151</td><td>151</td><td>146</td><td>152</td></tr><tr><td>Chinstrap</td><td>68</td><td>68</td><td>68</td><td>68</td><td>68</td><td>68</td><td>68</td></tr><tr><td>Gentoo</td><td>124</td><td>123</td><td>123</td><td>123</td><td>123</td><td>119</td><td>124</td></tr></table>"
|
4987
5045
|
],
|
4988
5046
|
"text/plain": [
|
4989
|
-
"#<RedAmber::DataFrame : 3 x 8 Vectors,
|
5047
|
+
"#<RedAmber::DataFrame : 3 x 8 Vectors, 0x000000000000f9d8>\n",
|
4990
5048
|
" species count(island) count(bill_length_mm) count(bill_depth_mm) ... count(year)\n",
|
4991
5049
|
" <string> <int64> <int64> <int64> ... <int64>\n",
|
4992
5050
|
"1 Adelie 152 151 151 ... 152\n",
|
@@ -4994,7 +5052,7 @@
|
|
4994
5052
|
"3 Gentoo 124 123 123 ... 124\n"
|
4995
5053
|
]
|
4996
5054
|
},
|
4997
|
-
"execution_count":
|
5055
|
+
"execution_count": 150,
|
4998
5056
|
"metadata": {},
|
4999
5057
|
"output_type": "execute_result"
|
5000
5058
|
}
|
@@ -5013,7 +5071,7 @@
|
|
5013
5071
|
},
|
5014
5072
|
{
|
5015
5073
|
"cell_type": "code",
|
5016
|
-
"execution_count":
|
5074
|
+
"execution_count": 151,
|
5017
5075
|
"id": "e6936488-9f23-47bd-8492-537c5be1afb3",
|
5018
5076
|
"metadata": {},
|
5019
5077
|
"outputs": [
|
@@ -5023,7 +5081,7 @@
|
|
5023
5081
|
"RedAmber::DataFrame <3 x 2 vectors> <table><tr><th>species</th><th>count</th></tr><tr><td>Adelie</td><td>151</td></tr><tr><td>Chinstrap</td><td>68</td></tr><tr><td>Gentoo</td><td>123</td></tr></table>"
|
5024
5082
|
],
|
5025
5083
|
"text/plain": [
|
5026
|
-
"#<RedAmber::DataFrame : 3 x 2 Vectors,
|
5084
|
+
"#<RedAmber::DataFrame : 3 x 2 Vectors, 0x000000000000f9ec>\n",
|
5027
5085
|
" species count\n",
|
5028
5086
|
" <string> <int64>\n",
|
5029
5087
|
"1 Adelie 151\n",
|
@@ -5031,7 +5089,7 @@
|
|
5031
5089
|
"3 Gentoo 123\n"
|
5032
5090
|
]
|
5033
5091
|
},
|
5034
|
-
"execution_count":
|
5092
|
+
"execution_count": 151,
|
5035
5093
|
"metadata": {},
|
5036
5094
|
"output_type": "execute_result"
|
5037
5095
|
}
|
@@ -5070,7 +5128,7 @@
|
|
5070
5128
|
},
|
5071
5129
|
{
|
5072
5130
|
"cell_type": "code",
|
5073
|
-
"execution_count":
|
5131
|
+
"execution_count": 152,
|
5074
5132
|
"id": "913f576b-ec86-4e94-af05-7c656ea24cc2",
|
5075
5133
|
"metadata": {},
|
5076
5134
|
"outputs": [
|
@@ -5080,15 +5138,15 @@
|
|
5080
5138
|
"RedAmber::DataFrame <3 x 3 vectors> <table><tr><th>species</th><th>count</th><th>mean(body_mass_g)</th></tr><tr><td>Adelie</td><td>152</td><td>3700.662251655629</td></tr><tr><td>Chinstrap</td><td>68</td><td>3733.0882352941176</td></tr><tr><td>Gentoo</td><td>124</td><td>5076.016260162602</td></tr></table>"
|
5081
5139
|
],
|
5082
5140
|
"text/plain": [
|
5083
|
-
"#<RedAmber::DataFrame : 3 x 3 Vectors,
|
5141
|
+
"#<RedAmber::DataFrame : 3 x 3 Vectors, 0x000000000000fa00>\n",
|
5084
5142
|
" species count mean(body_mass_g)\n",
|
5085
5143
|
" <string> <int64> <double>\n",
|
5086
|
-
"1 Adelie 152
|
5087
|
-
"2 Chinstrap 68
|
5088
|
-
"3 Gentoo 124
|
5144
|
+
"1 Adelie 152 3700.66\n",
|
5145
|
+
"2 Chinstrap 68 3733.09\n",
|
5146
|
+
"3 Gentoo 124 5076.02\n"
|
5089
5147
|
]
|
5090
5148
|
},
|
5091
|
-
"execution_count":
|
5149
|
+
"execution_count": 152,
|
5092
5150
|
"metadata": {},
|
5093
5151
|
"output_type": "execute_result"
|
5094
5152
|
}
|
@@ -5107,7 +5165,7 @@
|
|
5107
5165
|
},
|
5108
5166
|
{
|
5109
5167
|
"cell_type": "code",
|
5110
|
-
"execution_count":
|
5168
|
+
"execution_count": 153,
|
5111
5169
|
"id": "67c7fc55-7b30-469c-bd0c-cda5732863fe",
|
5112
5170
|
"metadata": {},
|
5113
5171
|
"outputs": [
|
@@ -5117,15 +5175,15 @@
|
|
5117
5175
|
"RedAmber::DataFrame <3 x 7 vectors> <table><tr><th>species</th><th>count</th><th>mean(bill_length_mm)</th><th>mean(bill_depth_mm)</th><th>mean(flipper_length_mm)</th><th>mean(body_mass_g)</th><th>mean(year)</th></tr><tr><td>Adelie</td><td>152</td><td>38.79139072847684</td><td>18.346357615894032</td><td>189.95364238410596</td><td>3700.662251655629</td><td>2008.0131578947369</td></tr><tr><td>Chinstrap</td><td>68</td><td>48.83382352941177</td><td>18.420588235294115</td><td>195.8235294117647</td><td>3733.0882352941176</td><td>2007.9705882352941</td></tr><tr><td>Gentoo</td><td>124</td><td>47.504878048780476</td><td>14.982113821138206</td><td>217.1869918699187</td><td>5076.016260162602</td><td>2008.0806451612902</td></tr></table>"
|
5118
5176
|
],
|
5119
5177
|
"text/plain": [
|
5120
|
-
"#<RedAmber::DataFrame : 3 x 7 Vectors,
|
5178
|
+
"#<RedAmber::DataFrame : 3 x 7 Vectors, 0x000000000000fa14>\n",
|
5121
5179
|
" species count mean(bill_length_mm) mean(bill_depth_mm) ... mean(year)\n",
|
5122
5180
|
" <string> <int64> <double> <double> ... <double>\n",
|
5123
|
-
"1 Adelie 152
|
5124
|
-
"2 Chinstrap 68
|
5125
|
-
"3 Gentoo 124 47.5
|
5181
|
+
"1 Adelie 152 38.79 18.35 ... 2008.01\n",
|
5182
|
+
"2 Chinstrap 68 48.83 18.42 ... 2007.97\n",
|
5183
|
+
"3 Gentoo 124 47.5 14.98 ... 2008.08\n"
|
5126
5184
|
]
|
5127
5185
|
},
|
5128
|
-
"execution_count":
|
5186
|
+
"execution_count": 153,
|
5129
5187
|
"metadata": {},
|
5130
5188
|
"output_type": "execute_result"
|
5131
5189
|
}
|
@@ -5156,18 +5214,18 @@
|
|
5156
5214
|
},
|
5157
5215
|
{
|
5158
5216
|
"cell_type": "code",
|
5159
|
-
"execution_count":
|
5217
|
+
"execution_count": 154,
|
5160
5218
|
"id": "013f2db6-3e1d-481f-a908-57605729b51d",
|
5161
5219
|
"metadata": {},
|
5162
5220
|
"outputs": [
|
5163
5221
|
{
|
5164
5222
|
"data": {
|
5165
5223
|
"text/plain": [
|
5166
|
-
"#<RedAmber::Vector(:uint8, size=5):
|
5224
|
+
"#<RedAmber::Vector(:uint8, size=5):0x000000000000fa28>\n",
|
5167
5225
|
"[nil, 1, 2, 3, 4]\n"
|
5168
5226
|
]
|
5169
5227
|
},
|
5170
|
-
"execution_count":
|
5228
|
+
"execution_count": 154,
|
5171
5229
|
"metadata": {},
|
5172
5230
|
"output_type": "execute_result"
|
5173
5231
|
}
|
@@ -5179,18 +5237,18 @@
|
|
5179
5237
|
},
|
5180
5238
|
{
|
5181
5239
|
"cell_type": "code",
|
5182
|
-
"execution_count":
|
5240
|
+
"execution_count": 155,
|
5183
5241
|
"id": "7625acd7-d6a0-4775-b5e0-ca87f95f4f28",
|
5184
5242
|
"metadata": {},
|
5185
5243
|
"outputs": [
|
5186
5244
|
{
|
5187
5245
|
"data": {
|
5188
5246
|
"text/plain": [
|
5189
|
-
"#<RedAmber::Vector(:uint8, size=5):
|
5247
|
+
"#<RedAmber::Vector(:uint8, size=5):0x000000000000fa3c>\n",
|
5190
5248
|
"[3, 4, 5, nil, nil]\n"
|
5191
5249
|
]
|
5192
5250
|
},
|
5193
|
-
"execution_count":
|
5251
|
+
"execution_count": 155,
|
5194
5252
|
"metadata": {},
|
5195
5253
|
"output_type": "execute_result"
|
5196
5254
|
}
|
@@ -5201,18 +5259,18 @@
|
|
5201
5259
|
},
|
5202
5260
|
{
|
5203
5261
|
"cell_type": "code",
|
5204
|
-
"execution_count":
|
5262
|
+
"execution_count": 156,
|
5205
5263
|
"id": "34a9ac2a-2e3f-44bc-8ba7-c4487dc3528e",
|
5206
5264
|
"metadata": {},
|
5207
5265
|
"outputs": [
|
5208
5266
|
{
|
5209
5267
|
"data": {
|
5210
5268
|
"text/plain": [
|
5211
|
-
"#<RedAmber::Vector(:double, size=5):
|
5269
|
+
"#<RedAmber::Vector(:double, size=5):0x000000000000fa50>\n",
|
5212
5270
|
"[NaN, 1.0, 2.0, 3.0, 4.0]\n"
|
5213
5271
|
]
|
5214
5272
|
},
|
5215
|
-
"execution_count":
|
5273
|
+
"execution_count": 156,
|
5216
5274
|
"metadata": {},
|
5217
5275
|
"output_type": "execute_result"
|
5218
5276
|
}
|
@@ -5256,7 +5314,7 @@
|
|
5256
5314
|
},
|
5257
5315
|
{
|
5258
5316
|
"cell_type": "code",
|
5259
|
-
"execution_count":
|
5317
|
+
"execution_count": 157,
|
5260
5318
|
"id": "24774ccc-8f0f-4ce4-9ba0-bebed8781c38",
|
5261
5319
|
"metadata": {},
|
5262
5320
|
"outputs": [
|
@@ -5266,7 +5324,7 @@
|
|
5266
5324
|
"RedAmber::DataFrame <4 x 3 vectors> <table><tr><th>AAA</th><th>BBB</th><th>CCC</th></tr><tr><td>4</td><td>10</td><td>100</td></tr><tr><td>5</td><td>-1</td><td>50</td></tr><tr><td>6</td><td>-1</td><td>-30</td></tr><tr><td>7</td><td>-1</td><td>-50</td></tr></table>"
|
5267
5325
|
],
|
5268
5326
|
"text/plain": [
|
5269
|
-
"#<RedAmber::DataFrame : 4 x 3 Vectors,
|
5327
|
+
"#<RedAmber::DataFrame : 4 x 3 Vectors, 0x000000000000fa64>\n",
|
5270
5328
|
" AAA BBB CCC\n",
|
5271
5329
|
" <uint8> <int8> <int8>\n",
|
5272
5330
|
"1 4 10 100\n",
|
@@ -5275,7 +5333,7 @@
|
|
5275
5333
|
"4 7 -1 -50\n"
|
5276
5334
|
]
|
5277
5335
|
},
|
5278
|
-
"execution_count":
|
5336
|
+
"execution_count": 157,
|
5279
5337
|
"metadata": {},
|
5280
5338
|
"output_type": "execute_result"
|
5281
5339
|
}
|
@@ -5286,7 +5344,7 @@
|
|
5286
5344
|
" \"AAA\": [4, 5, 6, 7], \"BBB\": [10, 20, 30, 40], \"CCC\": [100, 50, -30, -50] # You can omit {}\n",
|
5287
5345
|
")\n",
|
5288
5346
|
"\n",
|
5289
|
-
"df.assign(
|
5347
|
+
"df.assign(BBB: df[:BBB].replace(df[:AAA] >= 5, -1))"
|
5290
5348
|
]
|
5291
5349
|
},
|
5292
5350
|
{
|
@@ -5299,7 +5357,7 @@
|
|
5299
5357
|
},
|
5300
5358
|
{
|
5301
5359
|
"cell_type": "code",
|
5302
|
-
"execution_count":
|
5360
|
+
"execution_count": 158,
|
5303
5361
|
"id": "3f97227b-cbee-4515-b76d-3514401967d9",
|
5304
5362
|
"metadata": {},
|
5305
5363
|
"outputs": [
|
@@ -5309,7 +5367,7 @@
|
|
5309
5367
|
"RedAmber::DataFrame <4 x 3 vectors> <table><tr><th>AAA</th><th>BBB</th><th>CCC</th></tr><tr><td>4</td><td>10</td><td>100</td></tr><tr><td>5</td><td>-1</td><td>-2</td></tr><tr><td>6</td><td>-1</td><td>-2</td></tr><tr><td>7</td><td>-1</td><td>-2</td></tr></table>"
|
5310
5368
|
],
|
5311
5369
|
"text/plain": [
|
5312
|
-
"#<RedAmber::DataFrame : 4 x 3 Vectors,
|
5370
|
+
"#<RedAmber::DataFrame : 4 x 3 Vectors, 0x000000000000fa78>\n",
|
5313
5371
|
" AAA BBB CCC\n",
|
5314
5372
|
" <uint8> <int8> <int8>\n",
|
5315
5373
|
"1 4 10 100\n",
|
@@ -5318,7 +5376,7 @@
|
|
5318
5376
|
"4 7 -1 -2\n"
|
5319
5377
|
]
|
5320
5378
|
},
|
5321
|
-
"execution_count":
|
5379
|
+
"execution_count": 158,
|
5322
5380
|
"metadata": {},
|
5323
5381
|
"output_type": "execute_result"
|
5324
5382
|
}
|
@@ -5340,7 +5398,7 @@
|
|
5340
5398
|
"tags": []
|
5341
5399
|
},
|
5342
5400
|
"source": [
|
5343
|
-
"## 53. From the Pandas cookbook (
|
5401
|
+
"## 53. From the Pandas cookbook (Splitting)\n",
|
5344
5402
|
"Split a frame with a boolean criterion\n",
|
5345
5403
|
"\n",
|
5346
5404
|
"https://pandas.pydata.org/docs/user_guide/cookbook.html#splitting"
|
@@ -5374,7 +5432,7 @@
|
|
5374
5432
|
},
|
5375
5433
|
{
|
5376
5434
|
"cell_type": "code",
|
5377
|
-
"execution_count":
|
5435
|
+
"execution_count": 159,
|
5378
5436
|
"id": "b08e74d4-aba8-4fb5-a815-5d5384e92f81",
|
5379
5437
|
"metadata": {},
|
5380
5438
|
"outputs": [
|
@@ -5384,14 +5442,14 @@
|
|
5384
5442
|
"RedAmber::DataFrame <2 x 3 vectors> <table><tr><th>AAA</th><th>BBB</th><th>CCC</th></tr><tr><td>4</td><td>10</td><td>100</td></tr><tr><td>5</td><td>20</td><td>50</td></tr></table>"
|
5385
5443
|
],
|
5386
5444
|
"text/plain": [
|
5387
|
-
"#<RedAmber::DataFrame : 2 x 3 Vectors,
|
5445
|
+
"#<RedAmber::DataFrame : 2 x 3 Vectors, 0x000000000000fa8c>\n",
|
5388
5446
|
" AAA BBB CCC\n",
|
5389
5447
|
" <uint8> <uint8> <int8>\n",
|
5390
5448
|
"1 4 10 100\n",
|
5391
5449
|
"2 5 20 50\n"
|
5392
5450
|
]
|
5393
5451
|
},
|
5394
|
-
"execution_count":
|
5452
|
+
"execution_count": 159,
|
5395
5453
|
"metadata": {},
|
5396
5454
|
"output_type": "execute_result"
|
5397
5455
|
}
|
@@ -5403,12 +5461,13 @@
|
|
5403
5461
|
" \"AAA\": [4, 5, 6, 7], \"BBB\": [10, 20, 30, 40], \"CCC\": [100, 50, -30, -50]\n",
|
5404
5462
|
")\n",
|
5405
5463
|
"\n",
|
5406
|
-
"df.slice(df[:AAA] <= 5)"
|
5464
|
+
"df.slice(df[:AAA] <= 5)\n",
|
5465
|
+
"# df[df[:AAA] <= 5] # is also OK"
|
5407
5466
|
]
|
5408
5467
|
},
|
5409
5468
|
{
|
5410
5469
|
"cell_type": "code",
|
5411
|
-
"execution_count":
|
5470
|
+
"execution_count": 160,
|
5412
5471
|
"id": "caa72796-ff7e-4275-849f-04698114ee08",
|
5413
5472
|
"metadata": {},
|
5414
5473
|
"outputs": [
|
@@ -5418,14 +5477,14 @@
|
|
5418
5477
|
"RedAmber::DataFrame <2 x 3 vectors> <table><tr><th>AAA</th><th>BBB</th><th>CCC</th></tr><tr><td>6</td><td>30</td><td>-30</td></tr><tr><td>7</td><td>40</td><td>-50</td></tr></table>"
|
5419
5478
|
],
|
5420
5479
|
"text/plain": [
|
5421
|
-
"#<RedAmber::DataFrame : 2 x 3 Vectors,
|
5480
|
+
"#<RedAmber::DataFrame : 2 x 3 Vectors, 0x000000000000faa0>\n",
|
5422
5481
|
" AAA BBB CCC\n",
|
5423
5482
|
" <uint8> <uint8> <int8>\n",
|
5424
5483
|
"1 6 30 -30\n",
|
5425
5484
|
"2 7 40 -50\n"
|
5426
5485
|
]
|
5427
5486
|
},
|
5428
|
-
"execution_count":
|
5487
|
+
"execution_count": 160,
|
5429
5488
|
"metadata": {},
|
5430
5489
|
"output_type": "execute_result"
|
5431
5490
|
}
|
@@ -5434,6 +5493,1276 @@
|
|
5434
5493
|
"df.remove(df[:AAA] <= 5)\n",
|
5435
5494
|
"# df.slice(df[:AAA] > 5) # do the same thing"
|
5436
5495
|
]
|
5496
|
+
},
|
5497
|
+
{
|
5498
|
+
"cell_type": "markdown",
|
5499
|
+
"id": "ba7588e9-bbac-4547-a56c-3eea9f819460",
|
5500
|
+
"metadata": {
|
5501
|
+
"tags": []
|
5502
|
+
},
|
5503
|
+
"source": [
|
5504
|
+
"## 54. From the Pandas cookbook (Building criteria)\n",
|
5505
|
+
"Split a frame with a boolean criterion\n",
|
5506
|
+
"\n",
|
5507
|
+
"https://pandas.pydata.org/docs/user_guide/cookbook.html#building-criteria"
|
5508
|
+
]
|
5509
|
+
},
|
5510
|
+
{
|
5511
|
+
"cell_type": "markdown",
|
5512
|
+
"id": "c6d01b08-1af7-47b0-a9e4-f27ab41fe24e",
|
5513
|
+
"metadata": {},
|
5514
|
+
"source": [
|
5515
|
+
"```python\n",
|
5516
|
+
"# by Python Pandas\n",
|
5517
|
+
"df = pd.DataFrame(\n",
|
5518
|
+
" {\"AAA\": [4, 5, 6, 7], \"BBB\": [10, 20, 30, 40], \"CCC\": [100, 50, -30, -50]}\n",
|
5519
|
+
")\n",
|
5520
|
+
"\n",
|
5521
|
+
"# and\n",
|
5522
|
+
"df.loc[(df[\"BBB\"] < 25) & (df[\"CCC\"] >= -40), \"AAA\"]\n",
|
5523
|
+
"\n",
|
5524
|
+
"# returns a series =>\n",
|
5525
|
+
"0 4\n",
|
5526
|
+
"1 5\n",
|
5527
|
+
"Name: AAA, dtype: int64\n",
|
5528
|
+
"\n",
|
5529
|
+
"# or\n",
|
5530
|
+
"df.loc[(df[\"BBB\"] > 25) | (df[\"CCC\"] >= -40), \"AAA\"]\n",
|
5531
|
+
"\n",
|
5532
|
+
"# returns a series =>\n",
|
5533
|
+
"0 4\n",
|
5534
|
+
"1 5\n",
|
5535
|
+
"2 6\n",
|
5536
|
+
"3 7\n",
|
5537
|
+
"Name: AAA, dtype: int64\n",
|
5538
|
+
"```"
|
5539
|
+
]
|
5540
|
+
},
|
5541
|
+
{
|
5542
|
+
"cell_type": "code",
|
5543
|
+
"execution_count": 161,
|
5544
|
+
"id": "46066e96-91e5-4a96-9840-7e4ce6f06818",
|
5545
|
+
"metadata": {},
|
5546
|
+
"outputs": [
|
5547
|
+
{
|
5548
|
+
"data": {
|
5549
|
+
"text/html": [
|
5550
|
+
"RedAmber::DataFrame <2 x 1 vector> <table><tr><th>AAA</th></tr><tr><td>4</td></tr><tr><td>5</td></tr></table>"
|
5551
|
+
],
|
5552
|
+
"text/plain": [
|
5553
|
+
"#<RedAmber::DataFrame : 2 x 1 Vector, 0x000000000000fab4>\n",
|
5554
|
+
" AAA\n",
|
5555
|
+
" <uint8>\n",
|
5556
|
+
"1 4\n",
|
5557
|
+
"2 5\n"
|
5558
|
+
]
|
5559
|
+
},
|
5560
|
+
"execution_count": 161,
|
5561
|
+
"metadata": {},
|
5562
|
+
"output_type": "execute_result"
|
5563
|
+
}
|
5564
|
+
],
|
5565
|
+
"source": [
|
5566
|
+
"# Red Amber\n",
|
5567
|
+
"df = DataFrame.new(\n",
|
5568
|
+
" # You can omit {}\n",
|
5569
|
+
" \"AAA\": [4, 5, 6, 7], \"BBB\": [10, 20, 30, 40], \"CCC\": [100, 50, -30, -50]\n",
|
5570
|
+
")\n",
|
5571
|
+
"\n",
|
5572
|
+
"df.slice( (df[:BBB] < 25) & (df[:CCC] >= 40) ).pick(:AAA)"
|
5573
|
+
]
|
5574
|
+
},
|
5575
|
+
{
|
5576
|
+
"cell_type": "code",
|
5577
|
+
"execution_count": 162,
|
5578
|
+
"id": "dc8304c2-be28-420e-b2d5-a4b636eaac8b",
|
5579
|
+
"metadata": {},
|
5580
|
+
"outputs": [
|
5581
|
+
{
|
5582
|
+
"data": {
|
5583
|
+
"text/html": [
|
5584
|
+
"RedAmber::DataFrame <4 x 1 vector> <table><tr><th>AAA</th></tr><tr><td>4</td></tr><tr><td>5</td></tr><tr><td>6</td></tr><tr><td>7</td></tr></table>"
|
5585
|
+
],
|
5586
|
+
"text/plain": [
|
5587
|
+
"#<RedAmber::DataFrame : 4 x 1 Vector, 0x000000000000fac8>\n",
|
5588
|
+
" AAA\n",
|
5589
|
+
" <uint8>\n",
|
5590
|
+
"1 4\n",
|
5591
|
+
"2 5\n",
|
5592
|
+
"3 6\n",
|
5593
|
+
"4 7\n"
|
5594
|
+
]
|
5595
|
+
},
|
5596
|
+
"execution_count": 162,
|
5597
|
+
"metadata": {},
|
5598
|
+
"output_type": "execute_result"
|
5599
|
+
}
|
5600
|
+
],
|
5601
|
+
"source": [
|
5602
|
+
"df.slice( (df[:BBB] > 25) | (df[:CCC] >= 40) ).pick(:AAA)\n",
|
5603
|
+
"# df[ (df[:BBB] > 25) | (df[:CCC] >= 40) ][:AAA)] # also OK"
|
5604
|
+
]
|
5605
|
+
},
|
5606
|
+
{
|
5607
|
+
"cell_type": "markdown",
|
5608
|
+
"id": "79616705-f497-4bb4-ad1d-5ee93c0093ce",
|
5609
|
+
"metadata": {},
|
5610
|
+
"source": [
|
5611
|
+
"```python\n",
|
5612
|
+
"# by Python Pandas\n",
|
5613
|
+
"# or (with assignment)\n",
|
5614
|
+
"df.loc[(df[\"BBB\"] > 25) | (df[\"CCC\"] >= 75), \"AAA\"] = 0.1\n",
|
5615
|
+
"df\n",
|
5616
|
+
"\n",
|
5617
|
+
"# returns a dataframe =>\n",
|
5618
|
+
" AAA BBB CCC\n",
|
5619
|
+
"0 0.1 10 100\n",
|
5620
|
+
"1 5.0 20 50\n",
|
5621
|
+
"2 0.1 30 -30\n",
|
5622
|
+
"3 0.1 40 -50\n",
|
5623
|
+
"```"
|
5624
|
+
]
|
5625
|
+
},
|
5626
|
+
{
|
5627
|
+
"cell_type": "code",
|
5628
|
+
"execution_count": 163,
|
5629
|
+
"id": "7ab3b044-5a0f-4a38-8a42-aed1228b6462",
|
5630
|
+
"metadata": {},
|
5631
|
+
"outputs": [
|
5632
|
+
{
|
5633
|
+
"data": {
|
5634
|
+
"text/html": [
|
5635
|
+
"RedAmber::DataFrame <4 x 3 vectors> <table><tr><th>AAA</th><th>BBB</th><th>CCC</th></tr><tr><td>0.1</td><td>10</td><td>100</td></tr><tr><td>5.0</td><td>20</td><td>50</td></tr><tr><td>0.1</td><td>30</td><td>-30</td></tr><tr><td>0.1</td><td>40</td><td>-50</td></tr></table>"
|
5636
|
+
],
|
5637
|
+
"text/plain": [
|
5638
|
+
"#<RedAmber::DataFrame : 4 x 3 Vectors, 0x000000000000fadc>\n",
|
5639
|
+
" AAA BBB CCC\n",
|
5640
|
+
" <double> <uint8> <int8>\n",
|
5641
|
+
"1 0.1 10 100\n",
|
5642
|
+
"2 5.0 20 50\n",
|
5643
|
+
"3 0.1 30 -30\n",
|
5644
|
+
"4 0.1 40 -50\n"
|
5645
|
+
]
|
5646
|
+
},
|
5647
|
+
"execution_count": 163,
|
5648
|
+
"metadata": {},
|
5649
|
+
"output_type": "execute_result"
|
5650
|
+
}
|
5651
|
+
],
|
5652
|
+
"source": [
|
5653
|
+
"# df.assign(AAA: df[:AAA].replace((df[:BBB] > 25) | (df[:CCC] >= 75), 0.1)) # by one liner\n",
|
5654
|
+
"\n",
|
5655
|
+
"booleans = (df[:BBB] > 25) | (df[:CCC] >= 75)\n",
|
5656
|
+
"replaced = df[:AAA].replace(booleans, 0.1)\n",
|
5657
|
+
"df.assign(AAA: replaced)"
|
5658
|
+
]
|
5659
|
+
},
|
5660
|
+
{
|
5661
|
+
"cell_type": "markdown",
|
5662
|
+
"id": "6cd4a47c-f619-462b-94c0-4c488761d5b0",
|
5663
|
+
"metadata": {},
|
5664
|
+
"source": [
|
5665
|
+
"```python\n",
|
5666
|
+
"# by Python Pandas\n",
|
5667
|
+
"# Select rows with data closest to certain value using argsort\n",
|
5668
|
+
"df = pd.DataFrame(\n",
|
5669
|
+
" {\"AAA\": [4, 5, 6, 7], \"BBB\": [10, 20, 30, 40], \"CCC\": [100, 50, -30, -50]}\n",
|
5670
|
+
")\n",
|
5671
|
+
"aValue = 43.0\n",
|
5672
|
+
"df.loc[(df.CCC - aValue).abs().argsort()]\n",
|
5673
|
+
"\n",
|
5674
|
+
"# returns a dataframe =>\n",
|
5675
|
+
" AAA BBB CCC\n",
|
5676
|
+
"1 5 20 50\n",
|
5677
|
+
"0 4 10 100\n",
|
5678
|
+
"2 6 30 -30\n",
|
5679
|
+
"3 7 40 -50\n",
|
5680
|
+
"```"
|
5681
|
+
]
|
5682
|
+
},
|
5683
|
+
{
|
5684
|
+
"cell_type": "code",
|
5685
|
+
"execution_count": 164,
|
5686
|
+
"id": "13cb1d45-2d13-4708-ad76-57efd72e609b",
|
5687
|
+
"metadata": {},
|
5688
|
+
"outputs": [
|
5689
|
+
{
|
5690
|
+
"data": {
|
5691
|
+
"text/html": [
|
5692
|
+
"RedAmber::DataFrame <4 x 3 vectors> <table><tr><th>AAA</th><th>BBB</th><th>CCC</th></tr><tr><td>5</td><td>20</td><td>50</td></tr><tr><td>4</td><td>10</td><td>100</td></tr><tr><td>6</td><td>30</td><td>-30</td></tr><tr><td>7</td><td>40</td><td>-50</td></tr></table>"
|
5693
|
+
],
|
5694
|
+
"text/plain": [
|
5695
|
+
"#<RedAmber::DataFrame : 4 x 3 Vectors, 0x000000000000faf0>\n",
|
5696
|
+
" AAA BBB CCC\n",
|
5697
|
+
" <uint8> <uint8> <int8>\n",
|
5698
|
+
"1 5 20 50\n",
|
5699
|
+
"2 4 10 100\n",
|
5700
|
+
"3 6 30 -30\n",
|
5701
|
+
"4 7 40 -50\n"
|
5702
|
+
]
|
5703
|
+
},
|
5704
|
+
"execution_count": 164,
|
5705
|
+
"metadata": {},
|
5706
|
+
"output_type": "execute_result"
|
5707
|
+
}
|
5708
|
+
],
|
5709
|
+
"source": [
|
5710
|
+
"a_value = 43\n",
|
5711
|
+
"df[(df[:CCC] - a_value).abs.sort_indexes]\n",
|
5712
|
+
"# df.slice (df[:CCC] - a_value).abs.sort_indexes # also OK"
|
5713
|
+
]
|
5714
|
+
},
|
5715
|
+
{
|
5716
|
+
"cell_type": "markdown",
|
5717
|
+
"id": "9330117b-40e0-4574-8900-7857622daad4",
|
5718
|
+
"metadata": {},
|
5719
|
+
"source": [
|
5720
|
+
"```python\n",
|
5721
|
+
"# by Python Pandas\n",
|
5722
|
+
"# Dynamically reduce a list of criteria using a binary operators\n",
|
5723
|
+
"df = pd.DataFrame(\n",
|
5724
|
+
" {\"AAA\": [4, 5, 6, 7], \"BBB\": [10, 20, 30, 40], \"CCC\": [100, 50, -30, -50]}\n",
|
5725
|
+
")\n",
|
5726
|
+
"Crit1 = df.AAA <= 5.5\n",
|
5727
|
+
"Crit2 = df.BBB == 10.0\n",
|
5728
|
+
"Crit3 = df.CCC > -40.0\n",
|
5729
|
+
"AllCrit = Crit1 & Crit2 & Crit3\n",
|
5730
|
+
"\n",
|
5731
|
+
"import functools\n",
|
5732
|
+
"\n",
|
5733
|
+
"CritList = [Crit1, Crit2, Crit3]\n",
|
5734
|
+
"AllCrit = functools.reduce(lambda x, y: x & y, CritList)\n",
|
5735
|
+
"df[AllCrit]\n",
|
5736
|
+
"\n",
|
5737
|
+
"# returns a dataframe =>\n",
|
5738
|
+
" AAA BBB CCC\n",
|
5739
|
+
"0 4 10 100\n",
|
5740
|
+
"```"
|
5741
|
+
]
|
5742
|
+
},
|
5743
|
+
{
|
5744
|
+
"cell_type": "code",
|
5745
|
+
"execution_count": 165,
|
5746
|
+
"id": "40336e62-d411-4655-8ec5-8d30876ada47",
|
5747
|
+
"metadata": {},
|
5748
|
+
"outputs": [
|
5749
|
+
{
|
5750
|
+
"data": {
|
5751
|
+
"text/html": [
|
5752
|
+
"RedAmber::DataFrame <1 x 3 vectors> <table><tr><th>AAA</th><th>BBB</th><th>CCC</th></tr><tr><td>4</td><td>10</td><td>100</td></tr></table>"
|
5753
|
+
],
|
5754
|
+
"text/plain": [
|
5755
|
+
"#<RedAmber::DataFrame : 1 x 3 Vectors, 0x000000000000fb04>\n",
|
5756
|
+
" AAA BBB CCC\n",
|
5757
|
+
" <uint8> <uint8> <int8>\n",
|
5758
|
+
"1 4 10 100\n"
|
5759
|
+
]
|
5760
|
+
},
|
5761
|
+
"execution_count": 165,
|
5762
|
+
"metadata": {},
|
5763
|
+
"output_type": "execute_result"
|
5764
|
+
}
|
5765
|
+
],
|
5766
|
+
"source": [
|
5767
|
+
"crit1 = df[:AAA] <= 5.5\n",
|
5768
|
+
"crit2 = df[:BBB] == 10.0\n",
|
5769
|
+
"crit3 = df[:CCC] >= -40.0\n",
|
5770
|
+
"df[crit1 & crit2 & crit3]"
|
5771
|
+
]
|
5772
|
+
},
|
5773
|
+
{
|
5774
|
+
"cell_type": "markdown",
|
5775
|
+
"id": "62e03375-573d-4368-a26e-1be3a4d58cf8",
|
5776
|
+
"metadata": {
|
5777
|
+
"tags": []
|
5778
|
+
},
|
5779
|
+
"source": [
|
5780
|
+
"## 55. From the Pandas cookbook (Dataframes)\n",
|
5781
|
+
"\n",
|
5782
|
+
"https://pandas.pydata.org/docs/user_guide/cookbook.html#dataframes"
|
5783
|
+
]
|
5784
|
+
},
|
5785
|
+
{
|
5786
|
+
"cell_type": "raw",
|
5787
|
+
"id": "55cee55f-7caf-423c-863a-187f96fa3072",
|
5788
|
+
"metadata": {},
|
5789
|
+
"source": [
|
5790
|
+
"```python\n",
|
5791
|
+
"# by Python Pandas\n",
|
5792
|
+
"# Using both row labels and value conditionals\n",
|
5793
|
+
"df = pd.DataFrame(\n",
|
5794
|
+
" {\"AAA\": [4, 5, 6, 7], \"BBB\": [10, 20, 30, 40], \"CCC\": [100, 50, -30, -50]}\n",
|
5795
|
+
")\n",
|
5796
|
+
"df[(df.AAA <= 6) & (df.index.isin([0, 2, 4]))] \n",
|
5797
|
+
"\n",
|
5798
|
+
"# returns =>\n",
|
5799
|
+
" AAA BBB CCC\n",
|
5800
|
+
"0 4 10 100\n",
|
5801
|
+
"2 6 30 -30\n",
|
5802
|
+
"```"
|
5803
|
+
]
|
5804
|
+
},
|
5805
|
+
{
|
5806
|
+
"cell_type": "code",
|
5807
|
+
"execution_count": 166,
|
5808
|
+
"id": "272396f6-f689-43d5-ba34-e7c6ac0e1c28",
|
5809
|
+
"metadata": {},
|
5810
|
+
"outputs": [
|
5811
|
+
{
|
5812
|
+
"data": {
|
5813
|
+
"text/html": [
|
5814
|
+
"RedAmber::DataFrame <2 x 3 vectors> <table><tr><th>AAA</th><th>BBB</th><th>CCC</th></tr><tr><td>4</td><td>10</td><td>100</td></tr><tr><td>6</td><td>30</td><td>-30</td></tr></table>"
|
5815
|
+
],
|
5816
|
+
"text/plain": [
|
5817
|
+
"#<RedAmber::DataFrame : 2 x 3 Vectors, 0x000000000000fb18>\n",
|
5818
|
+
" AAA BBB CCC\n",
|
5819
|
+
" <uint8> <uint8> <int8>\n",
|
5820
|
+
"1 4 10 100\n",
|
5821
|
+
"2 6 30 -30\n"
|
5822
|
+
]
|
5823
|
+
},
|
5824
|
+
"execution_count": 166,
|
5825
|
+
"metadata": {},
|
5826
|
+
"output_type": "execute_result"
|
5827
|
+
}
|
5828
|
+
],
|
5829
|
+
"source": [
|
5830
|
+
"# Red Amber\n",
|
5831
|
+
"df = DataFrame.new(\n",
|
5832
|
+
" \"AAA\": [4, 5, 6, 7], \"BBB\": [10, 20, 30, 40], \"CCC\": [100, 50, -30, -50]\n",
|
5833
|
+
")\n",
|
5834
|
+
"\n",
|
5835
|
+
"df[(df[:AAA] <= 6) & df.indices.map { |i| [0, 2, 4].include? i }]"
|
5836
|
+
]
|
5837
|
+
},
|
5838
|
+
{
|
5839
|
+
"cell_type": "markdown",
|
5840
|
+
"id": "26bfea62-12e4-4a01-976e-6184ecafa2fd",
|
5841
|
+
"metadata": {},
|
5842
|
+
"source": [
|
5843
|
+
"```python\n",
|
5844
|
+
"# by Python Pandas\n",
|
5845
|
+
"# Use loc for label-oriented slicing and iloc positional slicing GH2904\n",
|
5846
|
+
"df = pd.DataFrame(\n",
|
5847
|
+
" {\"AAA\": [4, 5, 6, 7], \"BBB\": [10, 20, 30, 40], \"CCC\": [100, 50, -30, -50]},\n",
|
5848
|
+
" index=[\"foo\", \"bar\", \"boo\", \"kar\"],\n",
|
5849
|
+
")\n",
|
5850
|
+
"\n",
|
5851
|
+
"# There are 2 explicit slicing methods, with a third general case\n",
|
5852
|
+
"# 1. Positional-oriented (Python slicing style : exclusive of end)\n",
|
5853
|
+
"# 2. Label-oriented (Non-Python slicing style : inclusive of end)\n",
|
5854
|
+
"# 3. General (Either slicing style : depends on if the slice contains labels or positions)\n",
|
5855
|
+
"\n",
|
5856
|
+
"df.loc[\"bar\":\"kar\"] # Label\n",
|
5857
|
+
"# returns =>\n",
|
5858
|
+
" AAA BBB CCC\n",
|
5859
|
+
"bar 5 20 50\n",
|
5860
|
+
"boo 6 30 -30\n",
|
5861
|
+
"kar 7 40 -50\n",
|
5862
|
+
"\n",
|
5863
|
+
"# Generic\n",
|
5864
|
+
"df[0:3]\n",
|
5865
|
+
"# returns =>\n",
|
5866
|
+
" AAA BBB CCC\n",
|
5867
|
+
"foo 4 10 100\n",
|
5868
|
+
"bar 5 20 50\n",
|
5869
|
+
"boo 6 30 -30\n",
|
5870
|
+
"\n",
|
5871
|
+
"df[\"bar\":\"kar\"]\n",
|
5872
|
+
"# returns =>\n",
|
5873
|
+
" AAA BBB CCC\n",
|
5874
|
+
"bar 5 20 50\n",
|
5875
|
+
"boo 6 30 -30\n",
|
5876
|
+
"kar 7 40 -50\n",
|
5877
|
+
"```"
|
5878
|
+
]
|
5879
|
+
},
|
5880
|
+
{
|
5881
|
+
"cell_type": "code",
|
5882
|
+
"execution_count": 167,
|
5883
|
+
"id": "ccabc137-33d3-47e8-ad09-88a285765380",
|
5884
|
+
"metadata": {},
|
5885
|
+
"outputs": [
|
5886
|
+
{
|
5887
|
+
"data": {
|
5888
|
+
"text/html": [
|
5889
|
+
"RedAmber::DataFrame <4 x 4 vectors> <table><tr><th>index</th><th>AAA</th><th>BBB</th><th>CCC</th></tr><tr><td>foo</td><td>4</td><td>10</td><td>100</td></tr><tr><td>bar</td><td>5</td><td>20</td><td>50</td></tr><tr><td>boo</td><td>6</td><td>30</td><td>-30</td></tr><tr><td>kar</td><td>7</td><td>40</td><td>-50</td></tr></table>"
|
5890
|
+
],
|
5891
|
+
"text/plain": [
|
5892
|
+
"#<RedAmber::DataFrame : 4 x 4 Vectors, 0x000000000000fb2c>\n",
|
5893
|
+
" index AAA BBB CCC\n",
|
5894
|
+
" <string> <uint8> <uint8> <int8>\n",
|
5895
|
+
"1 foo 4 10 100\n",
|
5896
|
+
"2 bar 5 20 50\n",
|
5897
|
+
"3 boo 6 30 -30\n",
|
5898
|
+
"4 kar 7 40 -50\n"
|
5899
|
+
]
|
5900
|
+
},
|
5901
|
+
"execution_count": 167,
|
5902
|
+
"metadata": {},
|
5903
|
+
"output_type": "execute_result"
|
5904
|
+
}
|
5905
|
+
],
|
5906
|
+
"source": [
|
5907
|
+
"# Red Amber does not have row index. Use a new column as indexes.\n",
|
5908
|
+
"labeled = df.assign_left(index: %w[foo bar boo kar])\n",
|
5909
|
+
"# labeled = df.assign(index: %w[foo bar boo kar]).pick { [keys[-1], keys[0...-1]] } # until v0.1.8"
|
5910
|
+
]
|
5911
|
+
},
|
5912
|
+
{
|
5913
|
+
"cell_type": "code",
|
5914
|
+
"execution_count": 168,
|
5915
|
+
"id": "f0871131-725e-4e33-a3cc-1fccd610a4b2",
|
5916
|
+
"metadata": {},
|
5917
|
+
"outputs": [
|
5918
|
+
{
|
5919
|
+
"data": {
|
5920
|
+
"text/html": [
|
5921
|
+
"RedAmber::DataFrame <3 x 4 vectors> <table><tr><th>index</th><th>AAA</th><th>BBB</th><th>CCC</th></tr><tr><td>bar</td><td>5</td><td>20</td><td>50</td></tr><tr><td>boo</td><td>6</td><td>30</td><td>-30</td></tr><tr><td>kar</td><td>7</td><td>40</td><td>-50</td></tr></table>"
|
5922
|
+
],
|
5923
|
+
"text/plain": [
|
5924
|
+
"#<RedAmber::DataFrame : 3 x 4 Vectors, 0x000000000000fb40>\n",
|
5925
|
+
" index AAA BBB CCC\n",
|
5926
|
+
" <string> <uint8> <uint8> <int8>\n",
|
5927
|
+
"1 bar 5 20 50\n",
|
5928
|
+
"2 boo 6 30 -30\n",
|
5929
|
+
"3 kar 7 40 -50\n"
|
5930
|
+
]
|
5931
|
+
},
|
5932
|
+
"execution_count": 168,
|
5933
|
+
"metadata": {},
|
5934
|
+
"output_type": "execute_result"
|
5935
|
+
}
|
5936
|
+
],
|
5937
|
+
"source": [
|
5938
|
+
"labeled[1..3]"
|
5939
|
+
]
|
5940
|
+
},
|
5941
|
+
{
|
5942
|
+
"cell_type": "code",
|
5943
|
+
"execution_count": 169,
|
5944
|
+
"id": "dffc55f0-481e-4076-aa3f-89f1294655b9",
|
5945
|
+
"metadata": {},
|
5946
|
+
"outputs": [
|
5947
|
+
{
|
5948
|
+
"data": {
|
5949
|
+
"text/html": [
|
5950
|
+
"RedAmber::DataFrame <3 x 4 vectors> <table><tr><th>index</th><th>AAA</th><th>BBB</th><th>CCC</th></tr><tr><td>bar</td><td>5</td><td>20</td><td>50</td></tr><tr><td>boo</td><td>6</td><td>30</td><td>-30</td></tr><tr><td>kar</td><td>7</td><td>40</td><td>-50</td></tr></table>"
|
5951
|
+
],
|
5952
|
+
"text/plain": [
|
5953
|
+
"#<RedAmber::DataFrame : 3 x 4 Vectors, 0x000000000000fb54>\n",
|
5954
|
+
" index AAA BBB CCC\n",
|
5955
|
+
" <string> <uint8> <uint8> <int8>\n",
|
5956
|
+
"1 bar 5 20 50\n",
|
5957
|
+
"2 boo 6 30 -30\n",
|
5958
|
+
"3 kar 7 40 -50\n"
|
5959
|
+
]
|
5960
|
+
},
|
5961
|
+
"execution_count": 169,
|
5962
|
+
"metadata": {},
|
5963
|
+
"output_type": "execute_result"
|
5964
|
+
}
|
5965
|
+
],
|
5966
|
+
"source": [
|
5967
|
+
"labeled.slice do\n",
|
5968
|
+
" v = v(:index)\n",
|
5969
|
+
" v.index(\"bar\")..v.index(\"kar\")\n",
|
5970
|
+
"end"
|
5971
|
+
]
|
5972
|
+
},
|
5973
|
+
{
|
5974
|
+
"cell_type": "markdown",
|
5975
|
+
"id": "d72b067c-d15d-499b-8d2a-8b79f5287e97",
|
5976
|
+
"metadata": {},
|
5977
|
+
"source": [
|
5978
|
+
"```python\n",
|
5979
|
+
"# by Python Pandas\n",
|
5980
|
+
"# Ambiguity arises when an index consists of integers with a non-zero start or non-unit increment.\n",
|
5981
|
+
"df2 = pd.DataFrame(data=data, index=[1, 2, 3, 4]) # Note index starts at 1.\n",
|
5982
|
+
"\n",
|
5983
|
+
"df2.iloc[1:3] # Position-oriented\n",
|
5984
|
+
"# returns =>\n",
|
5985
|
+
" AAA BBB CCC\n",
|
5986
|
+
"2 5 20 50\n",
|
5987
|
+
"3 6 30 -30\n",
|
5988
|
+
"\n",
|
5989
|
+
"df2.loc[1:3] # Label-oriented\n",
|
5990
|
+
"# returns =>\n",
|
5991
|
+
" AAA BBB CCC\n",
|
5992
|
+
"1 4 10 100\n",
|
5993
|
+
"2 5 20 50\n",
|
5994
|
+
"3 6 30 -30\n",
|
5995
|
+
"```"
|
5996
|
+
]
|
5997
|
+
},
|
5998
|
+
{
|
5999
|
+
"cell_type": "code",
|
6000
|
+
"execution_count": 170,
|
6001
|
+
"id": "f023a23a-ea1d-415c-b395-195801351433",
|
6002
|
+
"metadata": {},
|
6003
|
+
"outputs": [],
|
6004
|
+
"source": [
|
6005
|
+
"# RedAmber only have an implicit integer index 0...size,\n",
|
6006
|
+
"# does not happen any ambiguity unless you create a new column and use it for indexes :-)."
|
6007
|
+
]
|
6008
|
+
},
|
6009
|
+
{
|
6010
|
+
"cell_type": "markdown",
|
6011
|
+
"id": "5cada26c-a37a-4eff-bfa5-66635d278671",
|
6012
|
+
"metadata": {},
|
6013
|
+
"source": [
|
6014
|
+
"```python\n",
|
6015
|
+
"# by Python Pandas\n",
|
6016
|
+
"# Using inverse operator (~) to take the complement of a mask\n",
|
6017
|
+
"df[~((df.AAA <= 6) & (df.index.isin([0, 2, 4])))]\n",
|
6018
|
+
"\n",
|
6019
|
+
"# returns =>\n",
|
6020
|
+
" AAA BBB CCC\n",
|
6021
|
+
"1 5 20 50\n",
|
6022
|
+
"3 7 40 -50\n",
|
6023
|
+
"```"
|
6024
|
+
]
|
6025
|
+
},
|
6026
|
+
{
|
6027
|
+
"cell_type": "code",
|
6028
|
+
"execution_count": 171,
|
6029
|
+
"id": "29b81efe-5b9b-4640-89b1-422ae94cf01d",
|
6030
|
+
"metadata": {},
|
6031
|
+
"outputs": [
|
6032
|
+
{
|
6033
|
+
"data": {
|
6034
|
+
"text/html": [
|
6035
|
+
"RedAmber::DataFrame <2 x 3 vectors> <table><tr><th>AAA</th><th>BBB</th><th>CCC</th></tr><tr><td>5</td><td>20</td><td>50</td></tr><tr><td>7</td><td>40</td><td>-50</td></tr></table>"
|
6036
|
+
],
|
6037
|
+
"text/plain": [
|
6038
|
+
"#<RedAmber::DataFrame : 2 x 3 Vectors, 0x000000000000fb68>\n",
|
6039
|
+
" AAA BBB CCC\n",
|
6040
|
+
" <uint8> <uint8> <int8>\n",
|
6041
|
+
"1 5 20 50\n",
|
6042
|
+
"2 7 40 -50\n"
|
6043
|
+
]
|
6044
|
+
},
|
6045
|
+
"execution_count": 171,
|
6046
|
+
"metadata": {},
|
6047
|
+
"output_type": "execute_result"
|
6048
|
+
}
|
6049
|
+
],
|
6050
|
+
"source": [
|
6051
|
+
"# RedAmber offers #! method for boolean Vector.\n",
|
6052
|
+
"df[!((df[:AAA] <= 6) & df.indices.map { |i| [0, 2, 4].include? i })]\n",
|
6053
|
+
"\n",
|
6054
|
+
"# or\n",
|
6055
|
+
"# df[((df[:AAA] <= 6) & df.indices.map { |i| [0, 2, 4].include? i }).invert]"
|
6056
|
+
]
|
6057
|
+
},
|
6058
|
+
{
|
6059
|
+
"cell_type": "markdown",
|
6060
|
+
"id": "4fb7103f-00ed-4e74-81e5-7d480004e681",
|
6061
|
+
"metadata": {},
|
6062
|
+
"source": [
|
6063
|
+
"If you have `nil` in your data, consider #primitive_invert for consistent result. See example #26."
|
6064
|
+
]
|
6065
|
+
},
|
6066
|
+
{
|
6067
|
+
"cell_type": "markdown",
|
6068
|
+
"id": "a1780372-b566-41f5-84d6-6213e3f9efa7",
|
6069
|
+
"metadata": {
|
6070
|
+
"tags": []
|
6071
|
+
},
|
6072
|
+
"source": [
|
6073
|
+
"## 56. From the Pandas cookbook (New columns)\n",
|
6074
|
+
"\n",
|
6075
|
+
"https://pandas.pydata.org/docs/user_guide/cookbook.html#new-columns"
|
6076
|
+
]
|
6077
|
+
},
|
6078
|
+
{
|
6079
|
+
"cell_type": "markdown",
|
6080
|
+
"id": "5f5f9d8b-7550-44f6-9f79-64f940f5000a",
|
6081
|
+
"metadata": {},
|
6082
|
+
"source": [
|
6083
|
+
"```python\n",
|
6084
|
+
"# by Python Pandas\n",
|
6085
|
+
"# Efficiently and dynamically creating new columns using applymap\n",
|
6086
|
+
"df = pd.DataFrame({\"AAA\": [1, 2, 1, 3], \"BBB\": [1, 1, 2, 2], \"CCC\": [2, 1, 3, 1]})\n",
|
6087
|
+
"df\n",
|
6088
|
+
"\n",
|
6089
|
+
"# returns =>\n",
|
6090
|
+
" AAA BBB CCC\n",
|
6091
|
+
"0 1 1 2\n",
|
6092
|
+
"1 2 1 1\n",
|
6093
|
+
"2 1 2 3\n",
|
6094
|
+
"3 3 2 1\n",
|
6095
|
+
"\n",
|
6096
|
+
"source_cols = df.columns # Or some subset would work too\n",
|
6097
|
+
"new_cols = [str(x) + \"_cat\" for x in source_cols]\n",
|
6098
|
+
"categories = {1: \"Alpha\", 2: \"Beta\", 3: \"Charlie\"}\n",
|
6099
|
+
"df[new_cols] = df[source_cols].applymap(categories.get)\n",
|
6100
|
+
"df\n",
|
6101
|
+
"\n",
|
6102
|
+
"# returns =>\n",
|
6103
|
+
" AAA BBB CCC AAA_cat BBB_cat CCC_cat\n",
|
6104
|
+
"0 1 1 2 Alpha Alpha Beta\n",
|
6105
|
+
"1 2 1 1 Beta Alpha Alpha\n",
|
6106
|
+
"2 1 2 3 Alpha Beta Charlie\n",
|
6107
|
+
"3 3 2 1 Charlie Beta Alpha\n",
|
6108
|
+
"```"
|
6109
|
+
]
|
6110
|
+
},
|
6111
|
+
{
|
6112
|
+
"cell_type": "code",
|
6113
|
+
"execution_count": 172,
|
6114
|
+
"id": "265d63e6-0c01-4080-8d5b-c3153be595a5",
|
6115
|
+
"metadata": {},
|
6116
|
+
"outputs": [
|
6117
|
+
{
|
6118
|
+
"data": {
|
6119
|
+
"text/html": [
|
6120
|
+
"RedAmber::DataFrame <4 x 3 vectors> <table><tr><th>AAA</th><th>BBB</th><th>CCC</th></tr><tr><td>1</td><td>1</td><td>2</td></tr><tr><td>2</td><td>1</td><td>1</td></tr><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>3</td><td>2</td><td>1</td></tr></table>"
|
6121
|
+
],
|
6122
|
+
"text/plain": [
|
6123
|
+
"#<RedAmber::DataFrame : 4 x 3 Vectors, 0x000000000000fb7c>\n",
|
6124
|
+
" AAA BBB CCC\n",
|
6125
|
+
" <uint8> <uint8> <uint8>\n",
|
6126
|
+
"1 1 1 2\n",
|
6127
|
+
"2 2 1 1\n",
|
6128
|
+
"3 1 2 3\n",
|
6129
|
+
"4 3 2 1\n"
|
6130
|
+
]
|
6131
|
+
},
|
6132
|
+
"execution_count": 172,
|
6133
|
+
"metadata": {},
|
6134
|
+
"output_type": "execute_result"
|
6135
|
+
}
|
6136
|
+
],
|
6137
|
+
"source": [
|
6138
|
+
"# RedAmber\n",
|
6139
|
+
"df = DataFrame.new({\"AAA\": [1, 2, 1, 3], \"BBB\": [1, 1, 2, 2], \"CCC\": [2, 1, 3, 1]})"
|
6140
|
+
]
|
6141
|
+
},
|
6142
|
+
{
|
6143
|
+
"cell_type": "code",
|
6144
|
+
"execution_count": 173,
|
6145
|
+
"id": "4be751d7-69a8-4400-b094-9932bf3d577b",
|
6146
|
+
"metadata": {},
|
6147
|
+
"outputs": [
|
6148
|
+
{
|
6149
|
+
"data": {
|
6150
|
+
"text/html": [
|
6151
|
+
"RedAmber::DataFrame <4 x 6 vectors> <table><tr><th>AAA</th><th>BBB</th><th>CCC</th><th>AAA_cat</th><th>BBB_cat</th><th>CCC_cat</th></tr><tr><td>1</td><td>1</td><td>2</td><td>Alpha</td><td>Alpha</td><td>Beta</td></tr><tr><td>2</td><td>1</td><td>1</td><td>Beta</td><td>Alpha</td><td>Alpha</td></tr><tr><td>1</td><td>2</td><td>3</td><td>Alpha</td><td>Beta</td><td>Charlie</td></tr><tr><td>3</td><td>2</td><td>1</td><td>Charlie</td><td>Beta</td><td>Alpha</td></tr></table>"
|
6152
|
+
],
|
6153
|
+
"text/plain": [
|
6154
|
+
"#<RedAmber::DataFrame : 4 x 6 Vectors, 0x000000000000fb90>\n",
|
6155
|
+
" AAA BBB CCC AAA_cat BBB_cat CCC_cat\n",
|
6156
|
+
" <uint8> <uint8> <uint8> <string> <string> <string>\n",
|
6157
|
+
"1 1 1 2 Alpha Alpha Beta\n",
|
6158
|
+
"2 2 1 1 Beta Alpha Alpha\n",
|
6159
|
+
"3 1 2 3 Alpha Beta Charlie\n",
|
6160
|
+
"4 3 2 1 Charlie Beta Alpha\n"
|
6161
|
+
]
|
6162
|
+
},
|
6163
|
+
"execution_count": 173,
|
6164
|
+
"metadata": {},
|
6165
|
+
"output_type": "execute_result"
|
6166
|
+
}
|
6167
|
+
],
|
6168
|
+
"source": [
|
6169
|
+
"categories = {1 => \"Alpha\", 2 => \"Beta\", 3 => \"Charlie\"}\n",
|
6170
|
+
"\n",
|
6171
|
+
"# Creating a Hash from keys\n",
|
6172
|
+
"df.assign do\n",
|
6173
|
+
" keys.each_with_object({}) do |key, h|\n",
|
6174
|
+
" h[\"#{key}_cat\"] = v(key).to_a.map { |x| categories[x] }\n",
|
6175
|
+
" end\n",
|
6176
|
+
"end\n",
|
6177
|
+
"\n",
|
6178
|
+
"# Creating an Array from vectors, from v0.2.0\n",
|
6179
|
+
"df.assign do\n",
|
6180
|
+
" vectors.map do |v|\n",
|
6181
|
+
" [\"#{v.key}_cat\", v.to_a.map { |x| categories[x] } ]\n",
|
6182
|
+
" end\n",
|
6183
|
+
"end"
|
6184
|
+
]
|
6185
|
+
},
|
6186
|
+
{
|
6187
|
+
"cell_type": "markdown",
|
6188
|
+
"id": "aa8214e5-a897-406e-bb5e-95ad9fea0cdd",
|
6189
|
+
"metadata": {},
|
6190
|
+
"source": [
|
6191
|
+
"```python\n",
|
6192
|
+
"# by Python Pandas\n",
|
6193
|
+
"# Keep other columns when using min() with groupby\n",
|
6194
|
+
"df = pd.DataFrame(\n",
|
6195
|
+
" {\"AAA\": [1, 1, 1, 2, 2, 2, 3, 3], \"BBB\": [2, 1, 3, 4, 5, 1, 2, 3]}\n",
|
6196
|
+
")\n",
|
6197
|
+
"df\n",
|
6198
|
+
"\n",
|
6199
|
+
"# returns =>\n",
|
6200
|
+
" AAA BBB\n",
|
6201
|
+
"0 1 2\n",
|
6202
|
+
"1 1 1\n",
|
6203
|
+
"2 1 3\n",
|
6204
|
+
"3 2 4\n",
|
6205
|
+
"4 2 5\n",
|
6206
|
+
"5 2 1\n",
|
6207
|
+
"6 3 2\n",
|
6208
|
+
"7 3 3\n",
|
6209
|
+
"\n",
|
6210
|
+
"# Method 1 : idxmin() to get the index of the minimums\n",
|
6211
|
+
"df.loc[df.groupby(\"AAA\")[\"BBB\"].idxmin()]\n",
|
6212
|
+
"\n",
|
6213
|
+
"# returns =>\n",
|
6214
|
+
" AAA BBB\n",
|
6215
|
+
"1 1 1\n",
|
6216
|
+
"5 2 1\n",
|
6217
|
+
"6 3 2\n",
|
6218
|
+
"\n",
|
6219
|
+
"# Method 2 : sort then take first of each\n",
|
6220
|
+
"df.sort_values(by=\"BBB\").groupby(\"AAA\", as_index=False).first()\n",
|
6221
|
+
"\n",
|
6222
|
+
"# returns =>\n",
|
6223
|
+
" AAA BBB\n",
|
6224
|
+
"0 1 1\n",
|
6225
|
+
"1 2 1\n",
|
6226
|
+
"2 3 2\n",
|
6227
|
+
"\n",
|
6228
|
+
"# Notice the same results, with the exception of the index.\n",
|
6229
|
+
"```"
|
6230
|
+
]
|
6231
|
+
},
|
6232
|
+
{
|
6233
|
+
"cell_type": "code",
|
6234
|
+
"execution_count": 174,
|
6235
|
+
"id": "5dd5f7dc-21a3-4397-9ef6-c5bc630ff858",
|
6236
|
+
"metadata": {},
|
6237
|
+
"outputs": [
|
6238
|
+
{
|
6239
|
+
"data": {
|
6240
|
+
"text/html": [
|
6241
|
+
"RedAmber::DataFrame <8 x 2 vectors> <table><tr><th>AAA</th><th>BBB</th></tr><tr><td>1</td><td>2</td></tr><tr><td>1</td><td>1</td></tr><tr><td>1</td><td>3</td></tr><tr><td>2</td><td>4</td></tr><tr><td>2</td><td>5</td></tr><tr><td>2</td><td>1</td></tr><tr><td>3</td><td>2</td></tr><tr><td>3</td><td>3</td></tr></table>"
|
6242
|
+
],
|
6243
|
+
"text/plain": [
|
6244
|
+
"#<RedAmber::DataFrame : 8 x 2 Vectors, 0x000000000000fba4>\n",
|
6245
|
+
" AAA BBB\n",
|
6246
|
+
" <uint8> <uint8>\n",
|
6247
|
+
"1 1 2\n",
|
6248
|
+
"2 1 1\n",
|
6249
|
+
"3 1 3\n",
|
6250
|
+
"4 2 4\n",
|
6251
|
+
"5 2 5\n",
|
6252
|
+
": : :\n",
|
6253
|
+
"7 3 2\n",
|
6254
|
+
"8 3 3\n"
|
6255
|
+
]
|
6256
|
+
},
|
6257
|
+
"execution_count": 174,
|
6258
|
+
"metadata": {},
|
6259
|
+
"output_type": "execute_result"
|
6260
|
+
}
|
6261
|
+
],
|
6262
|
+
"source": [
|
6263
|
+
"# RedAmber\n",
|
6264
|
+
"df = DataFrame.new(AAA: [1, 1, 1, 2, 2, 2, 3, 3], BBB: [2, 1, 3, 4, 5, 1, 2, 3])"
|
6265
|
+
]
|
6266
|
+
},
|
6267
|
+
{
|
6268
|
+
"cell_type": "code",
|
6269
|
+
"execution_count": 175,
|
6270
|
+
"id": "000c1632-8faf-407f-bb7d-e583ef573442",
|
6271
|
+
"metadata": {},
|
6272
|
+
"outputs": [
|
6273
|
+
{
|
6274
|
+
"data": {
|
6275
|
+
"text/html": [
|
6276
|
+
"RedAmber::DataFrame <3 x 2 vectors> <table><tr><th>AAA</th><th>min(BBB)</th></tr><tr><td>1</td><td>1</td></tr><tr><td>2</td><td>1</td></tr><tr><td>3</td><td>2</td></tr></table>"
|
6277
|
+
],
|
6278
|
+
"text/plain": [
|
6279
|
+
"#<RedAmber::DataFrame : 3 x 2 Vectors, 0x000000000000fbb8>\n",
|
6280
|
+
" AAA min(BBB)\n",
|
6281
|
+
" <uint8> <uint8>\n",
|
6282
|
+
"1 1 1\n",
|
6283
|
+
"2 2 1\n",
|
6284
|
+
"3 3 2\n"
|
6285
|
+
]
|
6286
|
+
},
|
6287
|
+
"execution_count": 175,
|
6288
|
+
"metadata": {},
|
6289
|
+
"output_type": "execute_result"
|
6290
|
+
}
|
6291
|
+
],
|
6292
|
+
"source": [
|
6293
|
+
"df.group(:AAA).min\n",
|
6294
|
+
"\n",
|
6295
|
+
"# Add `.rename { [keys[-1], :BBB] }` if you want."
|
6296
|
+
]
|
6297
|
+
},
|
6298
|
+
{
|
6299
|
+
"cell_type": "markdown",
|
6300
|
+
"id": "5aa5b4ab-2fb3-4a22-804e-55d6351dd427",
|
6301
|
+
"metadata": {
|
6302
|
+
"tags": []
|
6303
|
+
},
|
6304
|
+
"source": [
|
6305
|
+
"## 57. Summary/describe"
|
6306
|
+
]
|
6307
|
+
},
|
6308
|
+
{
|
6309
|
+
"cell_type": "code",
|
6310
|
+
"execution_count": 176,
|
6311
|
+
"id": "610be94e-b7ce-43f5-a5c1-ddef745d6bac",
|
6312
|
+
"metadata": {},
|
6313
|
+
"outputs": [
|
6314
|
+
{
|
6315
|
+
"data": {
|
6316
|
+
"text/html": [
|
6317
|
+
"RedAmber::DataFrame <5 x 9 vectors> <table><tr><th>variables</th><th>count</th><th>mean</th><th>std</th><th>min</th><th>25%</th><th>median</th><th>75%</th><th>max</th></tr><tr><td>bill_length_mm</td><td>342</td><td>43.92192982456141</td><td>5.4595837139265315</td><td>32.1</td><td>39.225</td><td>44.382000000000005</td><td>48.5</td><td>59.6</td></tr><tr><td>bill_depth_mm</td><td>342</td><td>17.151169590643274</td><td>1.9747931568167814</td><td>13.1</td><td>15.6</td><td>17.32</td><td>18.7</td><td>21.5</td></tr><tr><td>flipper_length_mm</td><td>342</td><td>200.91520467836258</td><td>14.061713679356888</td><td>172.0</td><td>190.0</td><td>197.0</td><td>213.0</td><td>231.0</td></tr><tr><td>body_mass_g</td><td>342</td><td>4201.754385964912</td><td>801.9545356980955</td><td>2700.0</td><td>3550.0</td><td>4031.5</td><td>4750.0</td><td>6300.0</td></tr><tr><td>year</td><td>344</td><td>2008.0290697674418</td><td>0.8183559254837041</td><td>2007.0</td><td>2007.0</td><td>2008.0</td><td>2009.0</td><td>2009.0</td></tr></table>"
|
6318
|
+
],
|
6319
|
+
"text/plain": [
|
6320
|
+
"#<RedAmber::DataFrame : 5 x 9 Vectors, 0x000000000000fbcc>\n",
|
6321
|
+
" variables count mean std min 25% median ... max\n",
|
6322
|
+
" <dictionary> <uint16> <double> <double> <double> <double> <double> ... <double>\n",
|
6323
|
+
"1 bill_length_mm 342 43.92 5.46 32.1 39.23 44.38 ... 59.6\n",
|
6324
|
+
"2 bill_depth_mm 342 17.15 1.97 13.1 15.6 17.32 ... 21.5\n",
|
6325
|
+
"3 flipper_length_mm 342 200.92 14.06 172.0 190.0 197.0 ... 231.0\n",
|
6326
|
+
"4 body_mass_g 342 4201.75 801.95 2700.0 3550.0 4031.5 ... 6300.0\n",
|
6327
|
+
"5 year 344 2008.03 0.82 2007.0 2007.0 2008.0 ... 2009.0\n"
|
6328
|
+
]
|
6329
|
+
},
|
6330
|
+
"execution_count": 176,
|
6331
|
+
"metadata": {},
|
6332
|
+
"output_type": "execute_result"
|
6333
|
+
}
|
6334
|
+
],
|
6335
|
+
"source": [
|
6336
|
+
"penguins.summary\n",
|
6337
|
+
"# or\n",
|
6338
|
+
"penguins.describe"
|
6339
|
+
]
|
6340
|
+
},
|
6341
|
+
{
|
6342
|
+
"cell_type": "markdown",
|
6343
|
+
"id": "982a735e-c887-4c15-be82-4f3a28138fa7",
|
6344
|
+
"metadata": {},
|
6345
|
+
"source": [
|
6346
|
+
"## 58. Quantile"
|
6347
|
+
]
|
6348
|
+
},
|
6349
|
+
{
|
6350
|
+
"cell_type": "markdown",
|
6351
|
+
"id": "d0832e36-7281-4d3c-a35d-5a89aecc341e",
|
6352
|
+
"metadata": {},
|
6353
|
+
"source": [
|
6354
|
+
"`Vector#quantile(prob)` returns quantile at probability `prob`.\n",
|
6355
|
+
"\n",
|
6356
|
+
"(Since 0.2.0)"
|
6357
|
+
]
|
6358
|
+
},
|
6359
|
+
{
|
6360
|
+
"cell_type": "code",
|
6361
|
+
"execution_count": 177,
|
6362
|
+
"id": "88c6ed5d-b41e-4c17-b93f-47ce15702974",
|
6363
|
+
"metadata": {},
|
6364
|
+
"outputs": [
|
6365
|
+
{
|
6366
|
+
"data": {
|
6367
|
+
"text/plain": [
|
6368
|
+
"17.3"
|
6369
|
+
]
|
6370
|
+
},
|
6371
|
+
"execution_count": 177,
|
6372
|
+
"metadata": {},
|
6373
|
+
"output_type": "execute_result"
|
6374
|
+
}
|
6375
|
+
],
|
6376
|
+
"source": [
|
6377
|
+
"penguins[:bill_depth_mm].quantile # default value is prob = 0.5"
|
6378
|
+
]
|
6379
|
+
},
|
6380
|
+
{
|
6381
|
+
"cell_type": "markdown",
|
6382
|
+
"id": "07368c10-65d4-4081-ace7-12bebca493c2",
|
6383
|
+
"metadata": {},
|
6384
|
+
"source": [
|
6385
|
+
"`Vector#quantiles` accepts an Array for multiple quantiles. Returns a DataFrame."
|
6386
|
+
]
|
6387
|
+
},
|
6388
|
+
{
|
6389
|
+
"cell_type": "code",
|
6390
|
+
"execution_count": 178,
|
6391
|
+
"id": "3cbac413-fc36-42a2-abd3-1343e3b88467",
|
6392
|
+
"metadata": {},
|
6393
|
+
"outputs": [
|
6394
|
+
{
|
6395
|
+
"data": {
|
6396
|
+
"text/html": [
|
6397
|
+
"RedAmber::DataFrame <2 x 2 vectors> <table><tr><th>probs</th><th>quantiles</th></tr><tr><td>0.05</td><td>13.9</td></tr><tr><td>0.95</td><td>20.0</td></tr></table>"
|
6398
|
+
],
|
6399
|
+
"text/plain": [
|
6400
|
+
"#<RedAmber::DataFrame : 2 x 2 Vectors, 0x000000000000fbe0>\n",
|
6401
|
+
" probs quantiles\n",
|
6402
|
+
" <double> <double>\n",
|
6403
|
+
"1 0.05 13.9\n",
|
6404
|
+
"2 0.95 20.0\n"
|
6405
|
+
]
|
6406
|
+
},
|
6407
|
+
"execution_count": 178,
|
6408
|
+
"metadata": {},
|
6409
|
+
"output_type": "execute_result"
|
6410
|
+
}
|
6411
|
+
],
|
6412
|
+
"source": [
|
6413
|
+
"penguins[:bill_depth_mm].quantiles([0.05, 0.95])"
|
6414
|
+
]
|
6415
|
+
},
|
6416
|
+
{
|
6417
|
+
"cell_type": "markdown",
|
6418
|
+
"id": "54800864-c33d-4fec-818b-1a12a7e4d015",
|
6419
|
+
"metadata": {},
|
6420
|
+
"source": [
|
6421
|
+
"## 59. Transpose"
|
6422
|
+
]
|
6423
|
+
},
|
6424
|
+
{
|
6425
|
+
"cell_type": "markdown",
|
6426
|
+
"id": "517281cf-3f29-4725-816c-5a866e9cc9cc",
|
6427
|
+
"metadata": {},
|
6428
|
+
"source": [
|
6429
|
+
"`DataFrame#transpose` creates transposed DataFrame for wide type dataframe.\n",
|
6430
|
+
"\n",
|
6431
|
+
"(Since 0.2.0)"
|
6432
|
+
]
|
6433
|
+
},
|
6434
|
+
{
|
6435
|
+
"cell_type": "code",
|
6436
|
+
"execution_count": 179,
|
6437
|
+
"id": "a2fe66cb-e86d-402e-8724-eced2420e3d0",
|
6438
|
+
"metadata": {},
|
6439
|
+
"outputs": [
|
6440
|
+
{
|
6441
|
+
"data": {
|
6442
|
+
"text/html": [
|
6443
|
+
"RedAmber::DataFrame <5 x 6 vectors> <table><tr><th>Year</th><th>Audi</th><th>BMW</th><th>BMW_MINI</th><th>Mercedes-Benz</th><th>VW</th></tr><tr><td>2021</td><td>22535</td><td>35905</td><td>18211</td><td>51722</td><td>35215</td></tr><tr><td>2020</td><td>22304</td><td>35712</td><td>20196</td><td>57041</td><td>36576</td></tr><tr><td>2019</td><td>24222</td><td>46814</td><td>23813</td><td>66553</td><td>46794</td></tr><tr><td>2018</td><td>26473</td><td>50982</td><td>25984</td><td>67554</td><td>51961</td></tr><tr><td>2017</td><td>28336</td><td>52527</td><td>25427</td><td>68221</td><td>49040</td></tr></table>"
|
6444
|
+
],
|
6445
|
+
"text/plain": [
|
6446
|
+
"#<RedAmber::DataFrame : 5 x 6 Vectors, 0x000000000000fbf4>\n",
|
6447
|
+
" Year Audi BMW BMW_MINI Mercedes-Benz VW\n",
|
6448
|
+
" <int64> <int64> <int64> <int64> <int64> <int64>\n",
|
6449
|
+
"1 2021 22535 35905 18211 51722 35215\n",
|
6450
|
+
"2 2020 22304 35712 20196 57041 36576\n",
|
6451
|
+
"3 2019 24222 46814 23813 66553 46794\n",
|
6452
|
+
"4 2018 26473 50982 25984 67554 51961\n",
|
6453
|
+
"5 2017 28336 52527 25427 68221 49040\n"
|
6454
|
+
]
|
6455
|
+
},
|
6456
|
+
"execution_count": 179,
|
6457
|
+
"metadata": {},
|
6458
|
+
"output_type": "execute_result"
|
6459
|
+
}
|
6460
|
+
],
|
6461
|
+
"source": [
|
6462
|
+
"import_cars = RedAmber::DataFrame.load('../test/entity/import_cars.tsv')"
|
6463
|
+
]
|
6464
|
+
},
|
6465
|
+
{
|
6466
|
+
"cell_type": "code",
|
6467
|
+
"execution_count": 180,
|
6468
|
+
"id": "b4ef2b48-33de-4982-b082-1966749fcf65",
|
6469
|
+
"metadata": {},
|
6470
|
+
"outputs": [
|
6471
|
+
{
|
6472
|
+
"data": {
|
6473
|
+
"text/html": [
|
6474
|
+
"RedAmber::DataFrame <5 x 6 vectors> <table><tr><th>name</th><th>2021</th><th>2020</th><th>2019</th><th>2018</th><th>2017</th></tr><tr><td>Audi</td><td>22535</td><td>22304</td><td>24222</td><td>26473</td><td>28336</td></tr><tr><td>BMW</td><td>35905</td><td>35712</td><td>46814</td><td>50982</td><td>52527</td></tr><tr><td>BMW_MINI</td><td>18211</td><td>20196</td><td>23813</td><td>25984</td><td>25427</td></tr><tr><td>Mercedes-Benz</td><td>51722</td><td>57041</td><td>66553</td><td>67554</td><td>68221</td></tr><tr><td>VW</td><td>35215</td><td>36576</td><td>46794</td><td>51961</td><td>49040</td></tr></table>"
|
6475
|
+
],
|
6476
|
+
"text/plain": [
|
6477
|
+
"#<RedAmber::DataFrame : 5 x 6 Vectors, 0x000000000000fc08>\n",
|
6478
|
+
" name 2021 2020 2019 2018 2017\n",
|
6479
|
+
" <dictionary> <uint16> <uint16> <uint32> <uint32> <uint32>\n",
|
6480
|
+
"1 Audi 22535 22304 24222 26473 28336\n",
|
6481
|
+
"2 BMW 35905 35712 46814 50982 52527\n",
|
6482
|
+
"3 BMW_MINI 18211 20196 23813 25984 25427\n",
|
6483
|
+
"4 Mercedes-Benz 51722 57041 66553 67554 68221\n",
|
6484
|
+
"5 VW 35215 36576 46794 51961 49040\n"
|
6485
|
+
]
|
6486
|
+
},
|
6487
|
+
"execution_count": 180,
|
6488
|
+
"metadata": {},
|
6489
|
+
"output_type": "execute_result"
|
6490
|
+
}
|
6491
|
+
],
|
6492
|
+
"source": [
|
6493
|
+
"import_cars.transpose"
|
6494
|
+
]
|
6495
|
+
},
|
6496
|
+
{
|
6497
|
+
"cell_type": "markdown",
|
6498
|
+
"id": "556e5c2d-bb01-4e16-9bf6-bdfd302d5b2a",
|
6499
|
+
"metadata": {},
|
6500
|
+
"source": [
|
6501
|
+
"You can specify index column by option `:key` even if it is at the middle of the original DataFrame."
|
6502
|
+
]
|
6503
|
+
},
|
6504
|
+
{
|
6505
|
+
"cell_type": "code",
|
6506
|
+
"execution_count": 181,
|
6507
|
+
"id": "31edb594-93fb-493f-8036-14e8273596ed",
|
6508
|
+
"metadata": {},
|
6509
|
+
"outputs": [
|
6510
|
+
{
|
6511
|
+
"data": {
|
6512
|
+
"text/html": [
|
6513
|
+
"RedAmber::DataFrame <5 x 6 vectors> <table><tr><th>Audi</th><th>BMW</th><th>Year</th><th>BMW_MINI</th><th>Mercedes-Benz</th><th>VW</th></tr><tr><td>22535</td><td>35905</td><td>2021</td><td>18211</td><td>51722</td><td>35215</td></tr><tr><td>22304</td><td>35712</td><td>2020</td><td>20196</td><td>57041</td><td>36576</td></tr><tr><td>24222</td><td>46814</td><td>2019</td><td>23813</td><td>66553</td><td>46794</td></tr><tr><td>26473</td><td>50982</td><td>2018</td><td>25984</td><td>67554</td><td>51961</td></tr><tr><td>28336</td><td>52527</td><td>2017</td><td>25427</td><td>68221</td><td>49040</td></tr></table>"
|
6514
|
+
],
|
6515
|
+
"text/plain": [
|
6516
|
+
"#<RedAmber::DataFrame : 5 x 6 Vectors, 0x000000000000fc1c>\n",
|
6517
|
+
" Audi BMW Year BMW_MINI Mercedes-Benz VW\n",
|
6518
|
+
" <int64> <int64> <int64> <int64> <int64> <int64>\n",
|
6519
|
+
"1 22535 35905 2021 18211 51722 35215\n",
|
6520
|
+
"2 22304 35712 2020 20196 57041 36576\n",
|
6521
|
+
"3 24222 46814 2019 23813 66553 46794\n",
|
6522
|
+
"4 26473 50982 2018 25984 67554 51961\n",
|
6523
|
+
"5 28336 52527 2017 25427 68221 49040\n"
|
6524
|
+
]
|
6525
|
+
},
|
6526
|
+
"execution_count": 181,
|
6527
|
+
"metadata": {},
|
6528
|
+
"output_type": "execute_result"
|
6529
|
+
}
|
6530
|
+
],
|
6531
|
+
"source": [
|
6532
|
+
"df = import_cars.pick { [keys[1..2], keys[0], keys[3..]] }"
|
6533
|
+
]
|
6534
|
+
},
|
6535
|
+
{
|
6536
|
+
"cell_type": "code",
|
6537
|
+
"execution_count": 182,
|
6538
|
+
"id": "ffa7cecc-5298-49d6-b483-b2b5cf2e1820",
|
6539
|
+
"metadata": {},
|
6540
|
+
"outputs": [
|
6541
|
+
{
|
6542
|
+
"data": {
|
6543
|
+
"text/html": [
|
6544
|
+
"RedAmber::DataFrame <5 x 6 vectors> <table><tr><th>name</th><th>2021</th><th>2020</th><th>2019</th><th>2018</th><th>2017</th></tr><tr><td>Audi</td><td>22535</td><td>22304</td><td>24222</td><td>26473</td><td>28336</td></tr><tr><td>BMW</td><td>35905</td><td>35712</td><td>46814</td><td>50982</td><td>52527</td></tr><tr><td>BMW_MINI</td><td>18211</td><td>20196</td><td>23813</td><td>25984</td><td>25427</td></tr><tr><td>Mercedes-Benz</td><td>51722</td><td>57041</td><td>66553</td><td>67554</td><td>68221</td></tr><tr><td>VW</td><td>35215</td><td>36576</td><td>46794</td><td>51961</td><td>49040</td></tr></table>"
|
6545
|
+
],
|
6546
|
+
"text/plain": [
|
6547
|
+
"#<RedAmber::DataFrame : 5 x 6 Vectors, 0x000000000000fc30>\n",
|
6548
|
+
" name 2021 2020 2019 2018 2017\n",
|
6549
|
+
" <dictionary> <uint16> <uint16> <uint32> <uint32> <uint32>\n",
|
6550
|
+
"1 Audi 22535 22304 24222 26473 28336\n",
|
6551
|
+
"2 BMW 35905 35712 46814 50982 52527\n",
|
6552
|
+
"3 BMW_MINI 18211 20196 23813 25984 25427\n",
|
6553
|
+
"4 Mercedes-Benz 51722 57041 66553 67554 68221\n",
|
6554
|
+
"5 VW 35215 36576 46794 51961 49040\n"
|
6555
|
+
]
|
6556
|
+
},
|
6557
|
+
"execution_count": 182,
|
6558
|
+
"metadata": {},
|
6559
|
+
"output_type": "execute_result"
|
6560
|
+
}
|
6561
|
+
],
|
6562
|
+
"source": [
|
6563
|
+
"df.transpose(key: :Year)"
|
6564
|
+
]
|
6565
|
+
},
|
6566
|
+
{
|
6567
|
+
"cell_type": "markdown",
|
6568
|
+
"id": "8c0e6fd9-2355-43dc-bfdb-254fdbd405fb",
|
6569
|
+
"metadata": {},
|
6570
|
+
"source": [
|
6571
|
+
"## 60. To_long"
|
6572
|
+
]
|
6573
|
+
},
|
6574
|
+
{
|
6575
|
+
"cell_type": "markdown",
|
6576
|
+
"id": "8970bf89-6841-44aa-8faa-8c2e97842a8d",
|
6577
|
+
"metadata": {},
|
6578
|
+
"source": [
|
6579
|
+
"`DataFrame#to_long(*keep_keys)` reshapes wide DataFrame to a longer DataFrame.\n",
|
6580
|
+
"\n",
|
6581
|
+
"- Parameter `keep_keys` specifies the key names to keep.\n",
|
6582
|
+
"\n",
|
6583
|
+
"(Since 0.2.0)"
|
6584
|
+
]
|
6585
|
+
},
|
6586
|
+
{
|
6587
|
+
"cell_type": "code",
|
6588
|
+
"execution_count": 183,
|
6589
|
+
"id": "f188cf35-3364-45aa-ad3c-1e079ed7b1a3",
|
6590
|
+
"metadata": {},
|
6591
|
+
"outputs": [
|
6592
|
+
{
|
6593
|
+
"data": {
|
6594
|
+
"text/html": [
|
6595
|
+
"RedAmber::DataFrame <5 x 6 vectors> <table><tr><th>Year</th><th>Audi</th><th>BMW</th><th>BMW_MINI</th><th>Mercedes-Benz</th><th>VW</th></tr><tr><td>2021</td><td>22535</td><td>35905</td><td>18211</td><td>51722</td><td>35215</td></tr><tr><td>2020</td><td>22304</td><td>35712</td><td>20196</td><td>57041</td><td>36576</td></tr><tr><td>2019</td><td>24222</td><td>46814</td><td>23813</td><td>66553</td><td>46794</td></tr><tr><td>2018</td><td>26473</td><td>50982</td><td>25984</td><td>67554</td><td>51961</td></tr><tr><td>2017</td><td>28336</td><td>52527</td><td>25427</td><td>68221</td><td>49040</td></tr></table>"
|
6596
|
+
],
|
6597
|
+
"text/plain": [
|
6598
|
+
"#<RedAmber::DataFrame : 5 x 6 Vectors, 0x000000000000fc44>\n",
|
6599
|
+
" Year Audi BMW BMW_MINI Mercedes-Benz VW\n",
|
6600
|
+
" <int64> <int64> <int64> <int64> <int64> <int64>\n",
|
6601
|
+
"1 2021 22535 35905 18211 51722 35215\n",
|
6602
|
+
"2 2020 22304 35712 20196 57041 36576\n",
|
6603
|
+
"3 2019 24222 46814 23813 66553 46794\n",
|
6604
|
+
"4 2018 26473 50982 25984 67554 51961\n",
|
6605
|
+
"5 2017 28336 52527 25427 68221 49040\n"
|
6606
|
+
]
|
6607
|
+
},
|
6608
|
+
"execution_count": 183,
|
6609
|
+
"metadata": {},
|
6610
|
+
"output_type": "execute_result"
|
6611
|
+
}
|
6612
|
+
],
|
6613
|
+
"source": [
|
6614
|
+
"import_cars = RedAmber::DataFrame.load('../test/entity/import_cars.tsv')"
|
6615
|
+
]
|
6616
|
+
},
|
6617
|
+
{
|
6618
|
+
"cell_type": "code",
|
6619
|
+
"execution_count": 184,
|
6620
|
+
"id": "bee776ae-7a82-41aa-8a31-c53af6b9ad9f",
|
6621
|
+
"metadata": {},
|
6622
|
+
"outputs": [
|
6623
|
+
{
|
6624
|
+
"data": {
|
6625
|
+
"text/html": [
|
6626
|
+
"RedAmber::DataFrame <25 x 3 vectors> <table><tr><th>Year</th><th>name</th><th>value</th></tr><tr><td>2021</td><td>Audi</td><td>22535</td></tr><tr><td>2021</td><td>BMW</td><td>35905</td></tr><tr><td>2021</td><td>BMW_MINI</td><td>18211</td></tr><tr><td>2021</td><td>Mercedes-Benz</td><td>51722</td></tr><tr><td colspan='3'>⋮</td></tr><tr><td>2017</td><td>BMW_MINI</td><td>25427</td></tr><tr><td>2017</td><td>Mercedes-Benz</td><td>68221</td></tr><tr><td>2017</td><td>VW</td><td>49040</td></tr></table>"
|
6627
|
+
],
|
6628
|
+
"text/plain": [
|
6629
|
+
"#<RedAmber::DataFrame : 25 x 3 Vectors, 0x000000000000fc58>\n",
|
6630
|
+
" Year name value\n",
|
6631
|
+
" <uint16> <dictionary> <uint32>\n",
|
6632
|
+
" 1 2021 Audi 22535\n",
|
6633
|
+
" 2 2021 BMW 35905\n",
|
6634
|
+
" 3 2021 BMW_MINI 18211\n",
|
6635
|
+
" 4 2021 Mercedes-Benz 51722\n",
|
6636
|
+
" 5 2021 VW 35215\n",
|
6637
|
+
" : : : :\n",
|
6638
|
+
"23 2017 BMW_MINI 25427\n",
|
6639
|
+
"24 2017 Mercedes-Benz 68221\n",
|
6640
|
+
"25 2017 VW 49040\n"
|
6641
|
+
]
|
6642
|
+
},
|
6643
|
+
"execution_count": 184,
|
6644
|
+
"metadata": {},
|
6645
|
+
"output_type": "execute_result"
|
6646
|
+
}
|
6647
|
+
],
|
6648
|
+
"source": [
|
6649
|
+
"import_cars.to_long(:Year)"
|
6650
|
+
]
|
6651
|
+
},
|
6652
|
+
{
|
6653
|
+
"cell_type": "markdown",
|
6654
|
+
"id": "771aac21-e739-4eea-9d75-cc99f691f87e",
|
6655
|
+
"metadata": {},
|
6656
|
+
"source": [
|
6657
|
+
"- Option `:name` : key of the column which is come **from key names**.\n",
|
6658
|
+
"- Option `:value` : key of the column which is come **from values**."
|
6659
|
+
]
|
6660
|
+
},
|
6661
|
+
{
|
6662
|
+
"cell_type": "code",
|
6663
|
+
"execution_count": 185,
|
6664
|
+
"id": "b7f7aeab-d545-4a28-82ce-db844029cc9c",
|
6665
|
+
"metadata": {},
|
6666
|
+
"outputs": [
|
6667
|
+
{
|
6668
|
+
"data": {
|
6669
|
+
"text/html": [
|
6670
|
+
"RedAmber::DataFrame <25 x 3 vectors> <table><tr><th>Year</th><th>Manufacturer</th><th>Num_of_imported</th></tr><tr><td>2021</td><td>Audi</td><td>22535</td></tr><tr><td>2021</td><td>BMW</td><td>35905</td></tr><tr><td>2021</td><td>BMW_MINI</td><td>18211</td></tr><tr><td>2021</td><td>Mercedes-Benz</td><td>51722</td></tr><tr><td colspan='3'>⋮</td></tr><tr><td>2017</td><td>BMW_MINI</td><td>25427</td></tr><tr><td>2017</td><td>Mercedes-Benz</td><td>68221</td></tr><tr><td>2017</td><td>VW</td><td>49040</td></tr></table>"
|
6671
|
+
],
|
6672
|
+
"text/plain": [
|
6673
|
+
"#<RedAmber::DataFrame : 25 x 3 Vectors, 0x000000000000fc6c>\n",
|
6674
|
+
" Year Manufacturer Num_of_imported\n",
|
6675
|
+
" <uint16> <dictionary> <uint32>\n",
|
6676
|
+
" 1 2021 Audi 22535\n",
|
6677
|
+
" 2 2021 BMW 35905\n",
|
6678
|
+
" 3 2021 BMW_MINI 18211\n",
|
6679
|
+
" 4 2021 Mercedes-Benz 51722\n",
|
6680
|
+
" 5 2021 VW 35215\n",
|
6681
|
+
" : : : :\n",
|
6682
|
+
"23 2017 BMW_MINI 25427\n",
|
6683
|
+
"24 2017 Mercedes-Benz 68221\n",
|
6684
|
+
"25 2017 VW 49040\n"
|
6685
|
+
]
|
6686
|
+
},
|
6687
|
+
"execution_count": 185,
|
6688
|
+
"metadata": {},
|
6689
|
+
"output_type": "execute_result"
|
6690
|
+
}
|
6691
|
+
],
|
6692
|
+
"source": [
|
6693
|
+
"import_cars.to_long(:Year, name: :Manufacturer, value: :Num_of_imported)"
|
6694
|
+
]
|
6695
|
+
},
|
6696
|
+
{
|
6697
|
+
"cell_type": "markdown",
|
6698
|
+
"id": "44361299-695f-4aef-8847-9b8a9dddc3d1",
|
6699
|
+
"metadata": {},
|
6700
|
+
"source": [
|
6701
|
+
"## 61. To_wide"
|
6702
|
+
]
|
6703
|
+
},
|
6704
|
+
{
|
6705
|
+
"cell_type": "markdown",
|
6706
|
+
"id": "7fa18ac8-99e1-4d55-bed4-cc02469496b5",
|
6707
|
+
"metadata": {},
|
6708
|
+
"source": [
|
6709
|
+
"`DataFrame#to_wide(*keep_keys)` reshapes long DataFrame to a wider DataFrame.\n",
|
6710
|
+
"\n",
|
6711
|
+
"- Option `:name` : key of the column which will be expanded **to key name**.\n",
|
6712
|
+
"- Option `:value` : key of the column which will be expanded **to values**.\n",
|
6713
|
+
"\n",
|
6714
|
+
"(Since 0.2.0)"
|
6715
|
+
]
|
6716
|
+
},
|
6717
|
+
{
|
6718
|
+
"cell_type": "code",
|
6719
|
+
"execution_count": 186,
|
6720
|
+
"id": "1d59c42f-c5ec-4df2-9fbe-592092ad2f8b",
|
6721
|
+
"metadata": {},
|
6722
|
+
"outputs": [
|
6723
|
+
{
|
6724
|
+
"data": {
|
6725
|
+
"text/html": [
|
6726
|
+
"RedAmber::DataFrame <5 x 6 vectors> <table><tr><th>Year</th><th>Audi</th><th>BMW</th><th>BMW_MINI</th><th>Mercedes-Benz</th><th>VW</th></tr><tr><td>2021</td><td>22535</td><td>35905</td><td>18211</td><td>51722</td><td>35215</td></tr><tr><td>2020</td><td>22304</td><td>35712</td><td>20196</td><td>57041</td><td>36576</td></tr><tr><td>2019</td><td>24222</td><td>46814</td><td>23813</td><td>66553</td><td>46794</td></tr><tr><td>2018</td><td>26473</td><td>50982</td><td>25984</td><td>67554</td><td>51961</td></tr><tr><td>2017</td><td>28336</td><td>52527</td><td>25427</td><td>68221</td><td>49040</td></tr></table>"
|
6727
|
+
],
|
6728
|
+
"text/plain": [
|
6729
|
+
"#<RedAmber::DataFrame : 5 x 6 Vectors, 0x000000000000fc80>\n",
|
6730
|
+
" Year Audi BMW BMW_MINI Mercedes-Benz VW\n",
|
6731
|
+
" <uint16> <uint16> <uint16> <uint16> <uint32> <uint16>\n",
|
6732
|
+
"1 2021 22535 35905 18211 51722 35215\n",
|
6733
|
+
"2 2020 22304 35712 20196 57041 36576\n",
|
6734
|
+
"3 2019 24222 46814 23813 66553 46794\n",
|
6735
|
+
"4 2018 26473 50982 25984 67554 51961\n",
|
6736
|
+
"5 2017 28336 52527 25427 68221 49040\n"
|
6737
|
+
]
|
6738
|
+
},
|
6739
|
+
"execution_count": 186,
|
6740
|
+
"metadata": {},
|
6741
|
+
"output_type": "execute_result"
|
6742
|
+
}
|
6743
|
+
],
|
6744
|
+
"source": [
|
6745
|
+
"import_cars.to_long(:Year).to_wide"
|
6746
|
+
]
|
6747
|
+
},
|
6748
|
+
{
|
6749
|
+
"cell_type": "code",
|
6750
|
+
"execution_count": 187,
|
6751
|
+
"id": "84b7909a-200c-4aec-b192-25016399a7c4",
|
6752
|
+
"metadata": {},
|
6753
|
+
"outputs": [],
|
6754
|
+
"source": [
|
6755
|
+
"# import_cars.to_long(:Year).to_wide(name: :name, value: :value)\n",
|
6756
|
+
"# is also OK"
|
6757
|
+
]
|
6758
|
+
},
|
6759
|
+
{
|
6760
|
+
"cell_type": "code",
|
6761
|
+
"execution_count": null,
|
6762
|
+
"id": "c92c2fe0-23a5-4153-bd03-7a07664b4d9e",
|
6763
|
+
"metadata": {},
|
6764
|
+
"outputs": [],
|
6765
|
+
"source": []
|
5437
6766
|
}
|
5438
6767
|
],
|
5439
6768
|
"metadata": {
|