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": [
- "
| id | id2 | a1 | a2 |
---|
1 | 1 | 'a' | 0.834752 | 0.593618 |
---|
2 | 1 | 'b' | 0.25992 | 0.937631 |
---|
3 | 1 | 'c' | 0.220984 | 0.279682 |
---|
"
+ " | id | id2 | a1 | a2 |
---|
1 | 1 | 'a' | 0.458145 | 0.142355 |
---|
2 | 1 | 'b' | 0.799502 | 0.631973 |
---|
3 | 1 | 'c' | 0.665952 | 0.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": [
- " | variable | value | id | id2 |
---|
1 | a1 | 0.834752 | 1 | 'a' |
---|
2 | a1 | 0.25992 | 1 | 'b' |
---|
3 | a1 | 0.220984 | 1 | 'c' |
---|
4 | a2 | 0.593618 | 1 | 'a' |
---|
5 | a2 | 0.937631 | 1 | 'b' |
---|
6 | a2 | 0.279682 | 1 | 'c' |
---|
"
+ " | variable | value | id | id2 |
---|
1 | a1 | 0.458145 | 1 | 'a' |
---|
2 | a1 | 0.799502 | 1 | 'b' |
---|
3 | a1 | 0.665952 | 1 | 'c' |
---|
4 | a2 | 0.142355 | 1 | 'a' |
---|
5 | a2 | 0.631973 | 1 | 'b' |
---|
6 | a2 | 0.204755 | 1 | '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": [
- " | variable | value |
---|
1 | x1 | 0.707032 |
---|
2 | x1 | 0.751828 |
---|
3 | x1 | 0.497165 |
---|
4 | x2 | 0.124856 |
---|
5 | x2 | 0.814676 |
---|
6 | x2 | 0.549471 |
---|
"
+ " | variable | value |
---|
1 | x1 | 0.284223 |
---|
2 | x1 | 0.498334 |
---|
3 | x1 | 0.84188 |
---|
4 | x2 | 0.845803 |
---|
5 | x2 | 0.722629 |
---|
6 | x2 | 0.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": [
- " | variable | value | key |
---|
1 | x1 | 0.97703 | 1 |
---|
2 | x1 | 0.222009 | 1 |
---|
3 | x1 | 0.64424 | 1 |
---|
4 | x2 | 0.438191 | 1 |
---|
5 | x2 | 0.187739 | 1 |
---|
6 | x2 | 0.826264 | 1 |
---|
"
+ " | variable | value | key |
---|
1 | x1 | 0.876846 | 1 |
---|
2 | x1 | 0.0686333 | 1 |
---|
3 | x1 | 0.0815149 | 1 |
---|
4 | x2 | 0.984013 | 1 |
---|
5 | x2 | 0.139363 | 1 |
---|
6 | x2 | 0.859373 | 1 |
---|
"
],
"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": [
- " | id | id2 | a1 | a2 |
---|
1 | 1 | 'a' | 0.088819 | 0.31133 |
---|
2 | 1 | 'b' | 0.437016 | 0.0314807 |
---|
3 | 1 | 'c' | 0.556724 | 0.842527 |
---|
"
+ " | id | id2 | a1 | a2 |
---|
1 | 1 | 'a' | 0.754369 | 0.095943 |
---|
2 | 1 | 'b' | 0.494067 | 0.227082 |
---|
3 | 1 | 'c' | 0.622234 | 0.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": [
- " | id | id2 | a1 | a2 |
---|
1 | 1 | 'a' | 0.088819 | 0.31133 |
---|
2 | 1 | 'b' | 0.437016 | 0.0314807 |
---|
3 | 1 | 'c' | 0.556724 | 0.842527 |
---|
"
+ " | id | id2 | a1 | a2 |
---|
1 | 1 | 'a' | 0.754369 | 0.095943 |
---|
2 | 1 | 'b' | 0.494067 | 0.227082 |
---|
3 | 1 | 'c' | 0.622234 | 0.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": [
- " | variable | value | id | id2 |
---|
1 | a1 | 0.088819 | 1 | 'a' |
---|
2 | a1 | 0.437016 | 1 | 'b' |
---|
3 | a1 | 0.556724 | 1 | 'c' |
---|
4 | a2 | 0.31133 | 1 | 'a' |
---|
5 | a2 | 0.0314807 | 1 | 'b' |
---|
6 | a2 | 0.842527 | 1 | 'c' |
---|
"
+ " | variable | value | id | id2 |
---|
1 | a1 | 0.754369 | 1 | 'a' |
---|
2 | a1 | 0.494067 | 1 | 'b' |
---|
3 | a1 | 0.622234 | 1 | 'c' |
---|
4 | a2 | 0.095943 | 1 | 'a' |
---|
5 | a2 | 0.227082 | 1 | 'b' |
---|
6 | a2 | 0.791082 | 1 | '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": [
- " | id2 | a1 | a2 |
---|
1 | 'a' | 0.088819 | 0.31133 |
---|
2 | 'b' | 0.437016 | 0.0314807 |
---|
3 | 'c' | 0.556724 | 0.842527 |
---|
"
+ " | id2 | a1 | a2 |
---|
1 | 'a' | 0.754369 | 0.095943 |
---|
2 | 'b' | 0.494067 | 0.227082 |
---|
3 | 'c' | 0.622234 | 0.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": [
- " | id | id2 | a1 | a2 |
---|
1 | 1 | 'a' | 0.088819 | 0.31133 |
---|
2 | 1 | 'b' | 0.437016 | 0.0314807 |
---|
3 | 1 | 'c' | 0.556724 | 0.842527 |
---|
"
+ " | id | id2 | a1 | a2 |
---|
1 | 1 | 'a' | 0.754369 | 0.095943 |
---|
2 | 1 | 'b' | 0.494067 | 0.227082 |
---|
3 | 1 | 'c' | 0.622234 | 0.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": [
- ""
+ ""
],
"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": [
- " | variable | value |
---|
1 | x1 | 0.220844 |
---|
2 | x1 | 0.784599 |
---|
3 | x1 | 0.338827 |
---|
4 | x2 | 0.390671 |
---|
5 | x2 | 0.150449 |
---|
6 | x2 | 0.605126 |
---|
"
+ " | variable | value |
---|
1 | x1 | 0.678752 |
---|
2 | x1 | 0.929795 |
---|
3 | x1 | 0.884891 |
---|
4 | x2 | 0.925154 |
---|
5 | x2 | 0.474071 |
---|
6 | x2 | 0.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,