diff --git a/09_reshaping.ipynb b/09_reshaping.ipynb index 59e423b..d896bc6 100644 --- a/09_reshaping.ipynb +++ b/09_reshaping.ipynb @@ -204,8 +204,10 @@ "name": "stdout", "output_type": "stream", "text": [ - " 0.280078 seconds (25.93 k allocations: 230.290 MiB, 32.04% gc time)\n", - " 0.232177 seconds (102.85 k allocations: 5.576 MiB)\n" + " 0.288607 seconds (25.97 k allocations: 230.395 MiB, 31.10% gc time)\n", + " 0.252100 seconds (127 allocations: 228.889 MiB, 51.72% gc time)\n", + " 0.258912 seconds (102.99 k allocations: 5.480 MiB)\n", + " 0.000139 seconds (85 allocations: 5.250 KiB)\n" ] } ], @@ -213,6 +215,8 @@ "bigx = DataFrame(rand(10^6, 10)) # a test comparing creation of new DataFrame and a view\n", "bigx[:id] = 1:10^6\n", "@time melt(bigx, :id)\n", + "@time melt(bigx, :id)\n", + "@time meltdf(bigx, :id)\n", "@time meltdf(bigx, :id);" ] }, @@ -224,15 +228,15 @@ { "data": { "text/html": [ - "
idid2a1a2
11'a'0.8347520.593618
21'b'0.259920.937631
31'c'0.2209840.279682
" + "
idid2a1a2
11'a'0.4581450.142355
21'b'0.7995020.631973
31'c'0.6659520.204755
" ], "text/plain": [ "3×4 DataFrames.DataFrame\n", "│ Row │ id │ id2 │ a1 │ a2 │\n", "├─────┼────┼─────┼──────────┼──────────┤\n", - "│ 1 │ 1 │ 'a' │ 0.834752 │ 0.593618 │\n", - "│ 2 │ 1 │ 'b' │ 0.25992 │ 0.937631 │\n", - "│ 3 │ 1 │ 'c' │ 0.220984 │ 0.279682 │" + "│ 1 │ 1 │ 'a' │ 0.458145 │ 0.142355 │\n", + "│ 2 │ 1 │ 'b' │ 0.799502 │ 0.631973 │\n", + "│ 3 │ 1 │ 'c' │ 0.665952 │ 0.204755 │" ] }, "execution_count": 8, @@ -252,18 +256,18 @@ { "data": { "text/html": [ - "
variablevalueidid2
1a10.8347521'a'
2a10.259921'b'
3a10.2209841'c'
4a20.5936181'a'
5a20.9376311'b'
6a20.2796821'c'
" + "
variablevalueidid2
1a10.4581451'a'
2a10.7995021'b'
3a10.6659521'c'
4a20.1423551'a'
5a20.6319731'b'
6a20.2047551'c'
" ], "text/plain": [ "6×4 DataFrames.DataFrame\n", "│ Row │ variable │ value │ id │ id2 │\n", "├─────┼──────────┼──────────┼────┼─────┤\n", - "│ 1 │ a1 │ 0.834752 │ 1 │ 'a' │\n", - "│ 2 │ a1 │ 0.25992 │ 1 │ 'b' │\n", - "│ 3 │ a1 │ 0.220984 │ 1 │ 'c' │\n", - "│ 4 │ a2 │ 0.593618 │ 1 │ 'a' │\n", - "│ 5 │ a2 │ 0.937631 │ 1 │ 'b' │\n", - "│ 6 │ a2 │ 0.279682 │ 1 │ 'c' │" + "│ 1 │ a1 │ 0.458145 │ 1 │ 'a' │\n", + "│ 2 │ a1 │ 0.799502 │ 1 │ 'b' │\n", + "│ 3 │ a1 │ 0.665952 │ 1 │ 'c' │\n", + "│ 4 │ a2 │ 0.142355 │ 1 │ 'a' │\n", + "│ 5 │ a2 │ 0.631973 │ 1 │ 'b' │\n", + "│ 6 │ a2 │ 0.204755 │ 1 │ 'c' │" ] }, "execution_count": 9, @@ -283,18 +287,18 @@ { "data": { "text/html": [ - "
variablevalue
1x10.707032
2x10.751828
3x10.497165
4x20.124856
5x20.814676
6x20.549471
" + "
variablevalue
1x10.284223
2x10.498334
3x10.84188
4x20.845803
5x20.722629
6x20.995074
" ], "text/plain": [ "6×2 DataFrames.DataFrame\n", "│ Row │ variable │ value │\n", "├─────┼──────────┼──────────┤\n", - "│ 1 │ x1 │ 0.707032 │\n", - "│ 2 │ x1 │ 0.751828 │\n", - "│ 3 │ x1 │ 0.497165 │\n", - "│ 4 │ x2 │ 0.124856 │\n", - "│ 5 │ x2 │ 0.814676 │\n", - "│ 6 │ x2 │ 0.549471 │" + "│ 1 │ x1 │ 0.284223 │\n", + "│ 2 │ x1 │ 0.498334 │\n", + "│ 3 │ x1 │ 0.84188 │\n", + "│ 4 │ x2 │ 0.845803 │\n", + "│ 5 │ x2 │ 0.722629 │\n", + "│ 6 │ x2 │ 0.995074 │" ] }, "execution_count": 10, @@ -314,18 +318,18 @@ { "data": { "text/html": [ - "
variablevaluekey
1x10.977031
2x10.2220091
3x10.644241
4x20.4381911
5x20.1877391
6x20.8262641
" + "
variablevaluekey
1x10.8768461
2x10.06863331
3x10.08151491
4x20.9840131
5x20.1393631
6x20.8593731
" ], "text/plain": [ "6×3 DataFrames.DataFrame\n", - "│ Row │ variable │ value │ key │\n", - "├─────┼──────────┼──────────┼─────┤\n", - "│ 1 │ x1 │ 0.97703 │ 1 │\n", - "│ 2 │ x1 │ 0.222009 │ 1 │\n", - "│ 3 │ x1 │ 0.64424 │ 1 │\n", - "│ 4 │ x2 │ 0.438191 │ 1 │\n", - "│ 5 │ x2 │ 0.187739 │ 1 │\n", - "│ 6 │ x2 │ 0.826264 │ 1 │" + "│ Row │ variable │ value │ key │\n", + "├─────┼──────────┼───────────┼─────┤\n", + "│ 1 │ x1 │ 0.876846 │ 1 │\n", + "│ 2 │ x1 │ 0.0686333 │ 1 │\n", + "│ 3 │ x1 │ 0.0815149 │ 1 │\n", + "│ 4 │ x2 │ 0.984013 │ 1 │\n", + "│ 5 │ x2 │ 0.139363 │ 1 │\n", + "│ 6 │ x2 │ 0.859373 │ 1 │" ] }, "execution_count": 11, @@ -354,15 +358,15 @@ { "data": { "text/html": [ - "
idid2a1a2
11'a'0.0888190.31133
21'b'0.4370160.0314807
31'c'0.5567240.842527
" + "
idid2a1a2
11'a'0.7543690.095943
21'b'0.4940670.227082
31'c'0.6222340.791082
" ], "text/plain": [ "3×4 DataFrames.DataFrame\n", - "│ Row │ id │ id2 │ a1 │ a2 │\n", - "├─────┼────┼─────┼──────────┼───────────┤\n", - "│ 1 │ 1 │ 'a' │ 0.088819 │ 0.31133 │\n", - "│ 2 │ 1 │ 'b' │ 0.437016 │ 0.0314807 │\n", - "│ 3 │ 1 │ 'c' │ 0.556724 │ 0.842527 │" + "│ Row │ id │ id2 │ a1 │ a2 │\n", + "├─────┼────┼─────┼──────────┼──────────┤\n", + "│ 1 │ 1 │ 'a' │ 0.754369 │ 0.095943 │\n", + "│ 2 │ 1 │ 'b' │ 0.494067 │ 0.227082 │\n", + "│ 3 │ 1 │ 'c' │ 0.622234 │ 0.791082 │" ] }, "execution_count": 12, @@ -382,15 +386,15 @@ { "data": { "text/html": [ - "
idid2a1a2
11'a'0.0888190.31133
21'b'0.4370160.0314807
31'c'0.5567240.842527
" + "
idid2a1a2
11'a'0.7543690.095943
21'b'0.4940670.227082
31'c'0.6222340.791082
" ], "text/plain": [ "3×4 DataFrames.DataFrame\n", - "│ Row │ id │ id2 │ a1 │ a2 │\n", - "├─────┼────┼─────┼──────────┼───────────┤\n", - "│ 1 │ 1 │ 'a' │ 0.088819 │ 0.31133 │\n", - "│ 2 │ 1 │ 'b' │ 0.437016 │ 0.0314807 │\n", - "│ 3 │ 1 │ 'c' │ 0.556724 │ 0.842527 │" + "│ Row │ id │ id2 │ a1 │ a2 │\n", + "├─────┼────┼─────┼──────────┼──────────┤\n", + "│ 1 │ 1 │ 'a' │ 0.754369 │ 0.095943 │\n", + "│ 2 │ 1 │ 'b' │ 0.494067 │ 0.227082 │\n", + "│ 3 │ 1 │ 'c' │ 0.622234 │ 0.791082 │" ] }, "metadata": {}, @@ -399,18 +403,18 @@ { "data": { "text/html": [ - "
variablevalueidid2
1a10.0888191'a'
2a10.4370161'b'
3a10.5567241'c'
4a20.311331'a'
5a20.03148071'b'
6a20.8425271'c'
" + "
variablevalueidid2
1a10.7543691'a'
2a10.4940671'b'
3a10.6222341'c'
4a20.0959431'a'
5a20.2270821'b'
6a20.7910821'c'
" ], "text/plain": [ "6×4 DataFrames.DataFrame\n", - "│ Row │ variable │ value │ id │ id2 │\n", - "├─────┼──────────┼───────────┼────┼─────┤\n", - "│ 1 │ a1 │ 0.088819 │ 1 │ 'a' │\n", - "│ 2 │ a1 │ 0.437016 │ 1 │ 'b' │\n", - "│ 3 │ a1 │ 0.556724 │ 1 │ 'c' │\n", - "│ 4 │ a2 │ 0.31133 │ 1 │ 'a' │\n", - "│ 5 │ a2 │ 0.0314807 │ 1 │ 'b' │\n", - "│ 6 │ a2 │ 0.842527 │ 1 │ 'c' │" + "│ Row │ variable │ value │ id │ id2 │\n", + "├─────┼──────────┼──────────┼────┼─────┤\n", + "│ 1 │ a1 │ 0.754369 │ 1 │ 'a' │\n", + "│ 2 │ a1 │ 0.494067 │ 1 │ 'b' │\n", + "│ 3 │ a1 │ 0.622234 │ 1 │ 'c' │\n", + "│ 4 │ a2 │ 0.095943 │ 1 │ 'a' │\n", + "│ 5 │ a2 │ 0.227082 │ 1 │ 'b' │\n", + "│ 6 │ a2 │ 0.791082 │ 1 │ 'c' │" ] }, "metadata": {}, @@ -431,15 +435,15 @@ { "data": { "text/html": [ - "
id2a1a2
1'a'0.0888190.31133
2'b'0.4370160.0314807
3'c'0.5567240.842527
" + "
id2a1a2
1'a'0.7543690.095943
2'b'0.4940670.227082
3'c'0.6222340.791082
" ], "text/plain": [ "3×3 DataFrames.DataFrame\n", - "│ Row │ id2 │ a1 │ a2 │\n", - "├─────┼─────┼──────────┼───────────┤\n", - "│ 1 │ 'a' │ 0.088819 │ 0.31133 │\n", - "│ 2 │ 'b' │ 0.437016 │ 0.0314807 │\n", - "│ 3 │ 'c' │ 0.556724 │ 0.842527 │" + "│ Row │ id2 │ a1 │ a2 │\n", + "├─────┼─────┼──────────┼──────────┤\n", + "│ 1 │ 'a' │ 0.754369 │ 0.095943 │\n", + "│ 2 │ 'b' │ 0.494067 │ 0.227082 │\n", + "│ 3 │ 'c' │ 0.622234 │ 0.791082 │" ] }, "execution_count": 14, @@ -459,15 +463,15 @@ { "data": { "text/html": [ - "
idid2a1a2
11'a'0.0888190.31133
21'b'0.4370160.0314807
31'c'0.5567240.842527
" + "
idid2a1a2
11'a'0.7543690.095943
21'b'0.4940670.227082
31'c'0.6222340.791082
" ], "text/plain": [ "3×4 DataFrames.DataFrame\n", - "│ Row │ id │ id2 │ a1 │ a2 │\n", - "├─────┼────┼─────┼──────────┼───────────┤\n", - "│ 1 │ 1 │ 'a' │ 0.088819 │ 0.31133 │\n", - "│ 2 │ 1 │ 'b' │ 0.437016 │ 0.0314807 │\n", - "│ 3 │ 1 │ 'c' │ 0.556724 │ 0.842527 │" + "│ Row │ id │ id2 │ a1 │ a2 │\n", + "├─────┼────┼─────┼──────────┼──────────┤\n", + "│ 1 │ 1 │ 'a' │ 0.754369 │ 0.095943 │\n", + "│ 2 │ 1 │ 'b' │ 0.494067 │ 0.227082 │\n", + "│ 3 │ 1 │ 'c' │ 0.622234 │ 0.791082 │" ] }, "execution_count": 15, @@ -494,13 +498,13 @@ { "data": { "text/html": [ - "
ida1a2
110.5567240.842527
" + "
ida1a2
110.6222340.791082
" ], "text/plain": [ "1×3 DataFrames.DataFrame\n", "│ Row │ id │ a1 │ a2 │\n", "├─────┼────┼──────────┼──────────┤\n", - "│ 1 │ 1 │ 0.556724 │ 0.842527 │" + "│ 1 │ 1 │ 0.622234 │ 0.791082 │" ] }, "execution_count": 16, @@ -521,18 +525,18 @@ { "data": { "text/html": [ - "
variablevalue
1x10.220844
2x10.784599
3x10.338827
4x20.390671
5x20.150449
6x20.605126
" + "
variablevalue
1x10.678752
2x10.929795
3x10.884891
4x20.925154
5x20.474071
6x20.731631
" ], "text/plain": [ "6×2 DataFrames.DataFrame\n", "│ Row │ variable │ value │\n", "├─────┼──────────┼──────────┤\n", - "│ 1 │ x1 │ 0.220844 │\n", - "│ 2 │ x1 │ 0.784599 │\n", - "│ 3 │ x1 │ 0.338827 │\n", - "│ 4 │ x2 │ 0.390671 │\n", - "│ 5 │ x2 │ 0.150449 │\n", - "│ 6 │ x2 │ 0.605126 │" + "│ 1 │ x1 │ 0.678752 │\n", + "│ 2 │ x1 │ 0.929795 │\n", + "│ 3 │ x1 │ 0.884891 │\n", + "│ 4 │ x2 │ 0.925154 │\n", + "│ 5 │ x2 │ 0.474071 │\n", + "│ 6 │ x2 │ 0.731631 │" ] }, "execution_count": 17,