red_amber 0.1.8 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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": {
|