Skip to content

Instantly share code, notes, and snippets.

@yohm
Created October 4, 2016 11:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yohm/4f521aedc9b0f185fd5a38572fb5b4e3 to your computer and use it in GitHub Desktop.
Save yohm/4f521aedc9b0f185fd5a38572fb5b4e3 to your computer and use it in GitHub Desktop.
DARU primer
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"false"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"require \"daru\""
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan='4'>Daru::DataFrame(5x3)</th>\n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <th></th>\n",
" \n",
" <th>col0</th>\n",
" \n",
" <th>col1</th>\n",
" \n",
" <th>col2</th>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>0</td>\n",
" \n",
" <td>1</td>\n",
" \n",
" <td>0.1</td>\n",
" \n",
" <td>11</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>1</td>\n",
" \n",
" <td>2</td>\n",
" \n",
" <td>0.2</td>\n",
" \n",
" <td>22</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>2</td>\n",
" \n",
" <td>3</td>\n",
" \n",
" <td>0.3</td>\n",
" \n",
" <td>33</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>3</td>\n",
" \n",
" <td>4</td>\n",
" \n",
" <td>0.4</td>\n",
" \n",
" <td>44</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>4</td>\n",
" \n",
" <td>5</td>\n",
" \n",
" <td>0.5</td>\n",
" \n",
" <td>55</td>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::DataFrame(5x3)>\n",
" col0 col1 col2\n",
" 0 1 0.1 11\n",
" 1 2 0.2 22\n",
" 2 3 0.3 33\n",
" 3 4 0.4 44\n",
" 4 5 0.5 55"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Daru::DataFrame.new(\n",
" \"col0\" => [1,2,3,4,5],\n",
" \"col1\" => [0.1,0.2,0.3,0.4,0.5],\n",
" \"col2\" => [11,22,33,44,55]\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan='4'>Daru::DataFrame(5x3)</th>\n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <th></th>\n",
" \n",
" <th>col0</th>\n",
" \n",
" <th>col1</th>\n",
" \n",
" <th>col2</th>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>0</td>\n",
" \n",
" <td>1</td>\n",
" \n",
" <td>0.1</td>\n",
" \n",
" <td>11</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>1</td>\n",
" \n",
" <td>2</td>\n",
" \n",
" <td>0.2</td>\n",
" \n",
" <td>22</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>2</td>\n",
" \n",
" <td>3</td>\n",
" \n",
" <td>0.3</td>\n",
" \n",
" <td>33</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>3</td>\n",
" \n",
" <td>4</td>\n",
" \n",
" <td>0.4</td>\n",
" \n",
" <td>44</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>4</td>\n",
" \n",
" <td>5</td>\n",
" \n",
" <td>0.5</td>\n",
" \n",
" <td>55</td>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::DataFrame(5x3)>\n",
" col0 col1 col2\n",
" 0 1 0.1 11\n",
" 1 2 0.2 22\n",
" 2 3 0.3 33\n",
" 3 4 0.4 44\n",
" 4 5 0.5 55"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = Daru::DataFrame.rows(\n",
" [\n",
" [1, 0.1, 11],\n",
" [2, 0.2, 22],\n",
" [3, 0.3, 33],\n",
" [4, 0.4, 44],\n",
" [5, 0.5, 55]\n",
" ],\n",
" order: [\"col0\", \"col1\", \"col2\"]\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan=\"2\">Daru::Vector(5)</th>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> </th>\n",
" <th>col0</th>\n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::Vector(5)>\n",
" col0\n",
" 0 1\n",
" 1 2\n",
" 2 3\n",
" 3 4\n",
" 4 5"
]
},
"execution_count": 63,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"col0\"]"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan='3'>Daru::DataFrame(5x2)</th>\n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <th></th>\n",
" \n",
" <th>col0</th>\n",
" \n",
" <th>col2</th>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>0</td>\n",
" \n",
" <td>1</td>\n",
" \n",
" <td>11</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>1</td>\n",
" \n",
" <td>2</td>\n",
" \n",
" <td>22</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>2</td>\n",
" \n",
" <td>3</td>\n",
" \n",
" <td>33</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>3</td>\n",
" \n",
" <td>4</td>\n",
" \n",
" <td>44</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>4</td>\n",
" \n",
" <td>5</td>\n",
" \n",
" <td>55</td>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::DataFrame(5x2)>\n",
" col0 col2\n",
" 0 1 11\n",
" 1 2 22\n",
" 2 3 33\n",
" 3 4 44\n",
" 4 5 55"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"col0\", \"col2\"]"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan=\"2\">Daru::Vector(3)</th>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> </th>\n",
" <th>2</th>\n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>col0</td>\n",
" <td>3</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>col1</td>\n",
" <td>0.3</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>col2</td>\n",
" <td>33</td>\n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::Vector(3)>\n",
" 2\n",
" col0 3\n",
" col1 0.3\n",
" col2 33"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.row[2]"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan=\"2\">Daru::Vector(5)</th>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> </th>\n",
" <th>col0</th>\n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>0</td>\n",
" <td>12</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>1</td>\n",
" <td>24</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>2</td>\n",
" <td>36</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>3</td>\n",
" <td>48</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>4</td>\n",
" <td>60</td>\n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::Vector(5)>\n",
" col0\n",
" 0 12\n",
" 1 24\n",
" 2 36\n",
" 3 48\n",
" 4 60"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"col0\"] + df[\"col2\"]"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan='3'>Daru::DataFrame(5x2)</th>\n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <th></th>\n",
" \n",
" <th>col1</th>\n",
" \n",
" <th>col2</th>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>0</td>\n",
" \n",
" <td>0.1</td>\n",
" \n",
" <td>11</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>1</td>\n",
" \n",
" <td>0.2</td>\n",
" \n",
" <td>22</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>2</td>\n",
" \n",
" <td>0.3</td>\n",
" \n",
" <td>33</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>3</td>\n",
" \n",
" <td>0.4</td>\n",
" \n",
" <td>44</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>4</td>\n",
" \n",
" <td>0.5</td>\n",
" \n",
" <td>55</td>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::DataFrame(5x2)>\n",
" col1 col2\n",
" 0 0.1 11\n",
" 1 0.2 22\n",
" 2 0.3 33\n",
" 3 0.4 44\n",
" 4 0.5 55"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"col1\"..\"col2\"]"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan=\"2\">Daru::Vector(4)</th>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> </th>\n",
" <th>2</th>\n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>col0</td>\n",
" <td>3</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>col1</td>\n",
" <td>0.3</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>col2</td>\n",
" <td>33</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>col3</td>\n",
" <td>3</td>\n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::Vector(4)>\n",
" 2\n",
" col0 3\n",
" col1 0.3\n",
" col2 33\n",
" col3 3"
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.row[2]"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan='5'>Daru::DataFrame(5x4)</th>\n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <th></th>\n",
" \n",
" <th>col0</th>\n",
" \n",
" <th>col1</th>\n",
" \n",
" <th>col2</th>\n",
" \n",
" <th>col3</th>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>0</td>\n",
" \n",
" <td>1</td>\n",
" \n",
" <td>0.1</td>\n",
" \n",
" <td>11</td>\n",
" \n",
" <td>5</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>1</td>\n",
" \n",
" <td>2</td>\n",
" \n",
" <td>0.2</td>\n",
" \n",
" <td>22</td>\n",
" \n",
" <td>4</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>2</td>\n",
" \n",
" <td>3</td>\n",
" \n",
" <td>0.3</td>\n",
" \n",
" <td>33</td>\n",
" \n",
" <td>3</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>3</td>\n",
" \n",
" <td>4</td>\n",
" \n",
" <td>0.4</td>\n",
" \n",
" <td>44</td>\n",
" \n",
" <td>2</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>4</td>\n",
" \n",
" <td>5</td>\n",
" \n",
" <td>0.5</td>\n",
" \n",
" <td>55</td>\n",
" \n",
" <td>1</td>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::DataFrame(5x4)>\n",
" col0 col1 col2 col3\n",
" 0 1 0.1 11 5\n",
" 1 2 0.2 22 4\n",
" 2 3 0.3 33 3\n",
" 3 4 0.4 44 2\n",
" 4 5 0.5 55 1"
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"col3\"] = [5,4,3,2,1]\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan='5'>Daru::DataFrame(6x4)</th>\n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <th></th>\n",
" \n",
" <th>col0</th>\n",
" \n",
" <th>col1</th>\n",
" \n",
" <th>col2</th>\n",
" \n",
" <th>col3</th>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>0</td>\n",
" \n",
" <td>1</td>\n",
" \n",
" <td>0.1</td>\n",
" \n",
" <td>11</td>\n",
" \n",
" <td>5</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>1</td>\n",
" \n",
" <td>2</td>\n",
" \n",
" <td>0.2</td>\n",
" \n",
" <td>22</td>\n",
" \n",
" <td>4</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>2</td>\n",
" \n",
" <td>3</td>\n",
" \n",
" <td>0.3</td>\n",
" \n",
" <td>33</td>\n",
" \n",
" <td>3</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>3</td>\n",
" \n",
" <td>4</td>\n",
" \n",
" <td>0.4</td>\n",
" \n",
" <td>44</td>\n",
" \n",
" <td>2</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>4</td>\n",
" \n",
" <td>5</td>\n",
" \n",
" <td>0.5</td>\n",
" \n",
" <td>55</td>\n",
" \n",
" <td>1</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>5</td>\n",
" \n",
" <td>6</td>\n",
" \n",
" <td>0.6</td>\n",
" \n",
" <td>66</td>\n",
" \n",
" <td>0</td>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::DataFrame(6x4)>\n",
" col0 col1 col2 col3\n",
" 0 1 0.1 11 5\n",
" 1 2 0.2 22 4\n",
" 2 3 0.3 33 3\n",
" 3 4 0.4 44 2\n",
" 4 5 0.5 55 1\n",
" 5 6 0.6 66 0"
]
},
"execution_count": 69,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.row[5] = [6, 0.6, 66, 0]\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan='5'>Daru::DataFrame(5x4)</th>\n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <th></th>\n",
" \n",
" <th>col0</th>\n",
" \n",
" <th>col1</th>\n",
" \n",
" <th>col2</th>\n",
" \n",
" <th>col3</th>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>count</td>\n",
" \n",
" <td>6</td>\n",
" \n",
" <td>6</td>\n",
" \n",
" <td>6</td>\n",
" \n",
" <td>6</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>mean</td>\n",
" \n",
" <td>3.5</td>\n",
" \n",
" <td>0.35000000000000003</td>\n",
" \n",
" <td>38.5</td>\n",
" \n",
" <td>2.5</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>std</td>\n",
" \n",
" <td>1.8708286933869707</td>\n",
" \n",
" <td>0.18708286933869706</td>\n",
" \n",
" <td>20.579115627256677</td>\n",
" \n",
" <td>1.8708286933869707</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>min</td>\n",
" \n",
" <td>1</td>\n",
" \n",
" <td>0.1</td>\n",
" \n",
" <td>11</td>\n",
" \n",
" <td>0</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>max</td>\n",
" \n",
" <td>6</td>\n",
" \n",
" <td>0.6</td>\n",
" \n",
" <td>66</td>\n",
" \n",
" <td>5</td>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::DataFrame(5x4)>\n",
" col0 col1 col2 col3\n",
" count 6 6 6 6\n",
" mean 3.5 0.35000000 38.5 2.5\n",
" std 1.87082869 0.18708286 20.5791156 1.87082869\n",
" min 1 0.1 11 0\n",
" max 6 0.6 66 5"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan=\"2\">Daru::Vector(4)</th>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <th> </th>\n",
" <th>mean</th>\n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>col0</td>\n",
" <td>3.5</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>col1</td>\n",
" <td>0.35000000000000003</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>col2</td>\n",
" <td>38.5</td>\n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>col3</td>\n",
" <td>2.5</td>\n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::Vector(4)>\n",
" mean\n",
" col0 3.5\n",
" col1 0.35000000000000003\n",
" col2 38.5\n",
" col3 2.5"
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.mean"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan='5'>Daru::DataFrame(4x4)</th>\n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <th></th>\n",
" \n",
" <th>col0</th>\n",
" \n",
" <th>col1</th>\n",
" \n",
" <th>col2</th>\n",
" \n",
" <th>col3</th>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>col0</td>\n",
" \n",
" <td>1.0</td>\n",
" \n",
" <td>1.0</td>\n",
" \n",
" <td>1.0</td>\n",
" \n",
" <td>-1.0</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>col1</td>\n",
" \n",
" <td>1.0</td>\n",
" \n",
" <td>1.0</td>\n",
" \n",
" <td>1.0000000000000002</td>\n",
" \n",
" <td>-1.0</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>col2</td>\n",
" \n",
" <td>1.0</td>\n",
" \n",
" <td>1.0000000000000002</td>\n",
" \n",
" <td>1.0000000000000002</td>\n",
" \n",
" <td>-1.0</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>col3</td>\n",
" \n",
" <td>-1.0</td>\n",
" \n",
" <td>-1.0</td>\n",
" \n",
" <td>-1.0</td>\n",
" \n",
" <td>1.0</td>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::DataFrame(4x4)>\n",
" col0 col1 col2 col3\n",
" col0 1.0 1.0 1.0 -1.0\n",
" col1 1.0 1.0 1.00000000 -1.0\n",
" col2 1.0 1.00000000 1.00000000 -1.0\n",
" col3 -1.0 -1.0 -1.0 1.0"
]
},
"execution_count": 73,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.corr"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan='5'>Daru::DataFrame(4x4)</th>\n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <th></th>\n",
" \n",
" <th>col0</th>\n",
" \n",
" <th>col1</th>\n",
" \n",
" <th>col2</th>\n",
" \n",
" <th>col3</th>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>col0</td>\n",
" \n",
" <td>3.5</td>\n",
" \n",
" <td>0.35</td>\n",
" \n",
" <td>38.5</td>\n",
" \n",
" <td>-3.5</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>col1</td>\n",
" \n",
" <td>0.35</td>\n",
" \n",
" <td>0.034999999999999996</td>\n",
" \n",
" <td>3.85</td>\n",
" \n",
" <td>-0.35</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>col2</td>\n",
" \n",
" <td>38.5</td>\n",
" \n",
" <td>3.85</td>\n",
" \n",
" <td>423.5</td>\n",
" \n",
" <td>-38.5</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>col3</td>\n",
" \n",
" <td>-3.5</td>\n",
" \n",
" <td>-0.35</td>\n",
" \n",
" <td>-38.5</td>\n",
" \n",
" <td>3.5</td>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::DataFrame(4x4)>\n",
" col0 col1 col2 col3\n",
" col0 3.5 0.35 38.5 -3.5\n",
" col1 0.35 0.03499999 3.85 -0.35\n",
" col2 38.5 3.85 423.5 -38.5\n",
" col3 -3.5 -0.35 -38.5 3.5"
]
},
"execution_count": 74,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.cov"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5\n",
"0.5\n",
"55\n",
"7\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan='5'>Daru::DataFrame(6x4)</th>\n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <th></th>\n",
" \n",
" <th>col0</th>\n",
" \n",
" <th>col1</th>\n",
" \n",
" <th>col2</th>\n",
" \n",
" <th>col3</th>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>0</td>\n",
" \n",
" <td>1</td>\n",
" \n",
" <td>0.1</td>\n",
" \n",
" <td>11</td>\n",
" \n",
" <td>5</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>1</td>\n",
" \n",
" <td>2</td>\n",
" \n",
" <td>0.2</td>\n",
" \n",
" <td>22</td>\n",
" \n",
" <td>4</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>2</td>\n",
" \n",
" <td>3</td>\n",
" \n",
" <td>0.3</td>\n",
" \n",
" <td>33</td>\n",
" \n",
" <td>3</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>3</td>\n",
" \n",
" <td>4</td>\n",
" \n",
" <td>0.4</td>\n",
" \n",
" <td>44</td>\n",
" \n",
" <td>2</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>4</td>\n",
" \n",
" <td>5</td>\n",
" \n",
" <td>0.5</td>\n",
" \n",
" <td>55</td>\n",
" \n",
" <td>1</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>5</td>\n",
" \n",
" <td>6</td>\n",
" \n",
" <td>0.6</td>\n",
" \n",
" <td>66</td>\n",
" \n",
" <td>0</td>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::DataFrame(6x4)>\n",
" col0 col1 col2 col3\n",
" 0 1 0.1 11 5\n",
" 1 2 0.2 22 4\n",
" 2 3 0.3 33 3\n",
" 3 4 0.4 44 2\n",
" 4 5 0.5 55 1\n",
" 5 6 0.6 66 0"
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.each {|col| puts col[0] + col[3] }"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.1\n",
"0.2\n",
"0.3\n",
"0.4\n",
"0.5\n",
"0.6\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan='5'>Daru::DataFrame(6x4)</th>\n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <th></th>\n",
" \n",
" <th>col0</th>\n",
" \n",
" <th>col1</th>\n",
" \n",
" <th>col2</th>\n",
" \n",
" <th>col3</th>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>0</td>\n",
" \n",
" <td>1</td>\n",
" \n",
" <td>0.1</td>\n",
" \n",
" <td>11</td>\n",
" \n",
" <td>5</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>1</td>\n",
" \n",
" <td>2</td>\n",
" \n",
" <td>0.2</td>\n",
" \n",
" <td>22</td>\n",
" \n",
" <td>4</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>2</td>\n",
" \n",
" <td>3</td>\n",
" \n",
" <td>0.3</td>\n",
" \n",
" <td>33</td>\n",
" \n",
" <td>3</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>3</td>\n",
" \n",
" <td>4</td>\n",
" \n",
" <td>0.4</td>\n",
" \n",
" <td>44</td>\n",
" \n",
" <td>2</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>4</td>\n",
" \n",
" <td>5</td>\n",
" \n",
" <td>0.5</td>\n",
" \n",
" <td>55</td>\n",
" \n",
" <td>1</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>5</td>\n",
" \n",
" <td>6</td>\n",
" \n",
" <td>0.6</td>\n",
" \n",
" <td>66</td>\n",
" \n",
" <td>0</td>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::DataFrame(6x4)>\n",
" col0 col1 col2 col3\n",
" 0 1 0.1 11 5\n",
" 1 2 0.2 22 4\n",
" 2 3 0.3 33 3\n",
" 3 4 0.4 44 2\n",
" 4 5 0.5 55 1\n",
" 5 6 0.6 66 0"
]
},
"execution_count": 76,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.each(:row) {|row| p row[\"col1\"] }"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan='2'>Daru::DataFrame(6x1)</th>\n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <th></th>\n",
" \n",
" <th>col2</th>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>0</td>\n",
" \n",
" <td>11</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>1</td>\n",
" \n",
" <td>22</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>2</td>\n",
" \n",
" <td>33</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>3</td>\n",
" \n",
" <td>44</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>4</td>\n",
" \n",
" <td>55</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>5</td>\n",
" \n",
" <td>66</td>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::DataFrame(6x1)>\n",
" col2\n",
" 0 11\n",
" 1 22\n",
" 2 33\n",
" 3 44\n",
" 4 55\n",
" 5 66"
]
},
"execution_count": 77,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.filter {|col| col.mean > 10 }"
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan='5'>Daru::DataFrame(3x4)</th>\n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <th></th>\n",
" \n",
" <th>col0</th>\n",
" \n",
" <th>col1</th>\n",
" \n",
" <th>col2</th>\n",
" \n",
" <th>col3</th>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>0</td>\n",
" \n",
" <td>1</td>\n",
" \n",
" <td>0.1</td>\n",
" \n",
" <td>11</td>\n",
" \n",
" <td>5</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>4</td>\n",
" \n",
" <td>5</td>\n",
" \n",
" <td>0.5</td>\n",
" \n",
" <td>55</td>\n",
" \n",
" <td>1</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>5</td>\n",
" \n",
" <td>6</td>\n",
" \n",
" <td>0.6</td>\n",
" \n",
" <td>66</td>\n",
" \n",
" <td>0</td>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::DataFrame(3x4)>\n",
" col0 col1 col2 col3\n",
" 0 1 0.1 11 5\n",
" 4 5 0.5 55 1\n",
" 5 6 0.6 66 0"
]
},
"execution_count": 78,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.filter(:row) {|row| row[\"col0\"]*row[\"col3\"] < 8 }"
]
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th colspan='5'>Daru::DataFrame(6x4)</th>\n",
" </tr>\n",
"\n",
" \n",
" <tr>\n",
" <th></th>\n",
" \n",
" <th>col0</th>\n",
" \n",
" <th>col1</th>\n",
" \n",
" <th>col2</th>\n",
" \n",
" <th>col3</th>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
" <tr>\n",
" <td>0</td>\n",
" \n",
" <td>1</td>\n",
" \n",
" <td>0.1</td>\n",
" \n",
" <td>11</td>\n",
" \n",
" <td>5</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>1</td>\n",
" \n",
" <td>2</td>\n",
" \n",
" <td>0.2</td>\n",
" \n",
" <td>22</td>\n",
" \n",
" <td>4</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>2</td>\n",
" \n",
" <td>3</td>\n",
" \n",
" <td>0.3</td>\n",
" \n",
" <td>33</td>\n",
" \n",
" <td>3</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>3</td>\n",
" \n",
" <td>4</td>\n",
" \n",
" <td>0.4</td>\n",
" \n",
" <td>44</td>\n",
" \n",
" <td>2</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>4</td>\n",
" \n",
" <td>5</td>\n",
" \n",
" <td>0.5</td>\n",
" \n",
" <td>55</td>\n",
" \n",
" <td>1</td>\n",
" \n",
" </tr>\n",
" \n",
" <tr>\n",
" <td>5</td>\n",
" \n",
" <td>6</td>\n",
" \n",
" <td>0.6</td>\n",
" \n",
" <td>66</td>\n",
" \n",
" <td>0</td>\n",
" \n",
" </tr>\n",
" \n",
"\n",
" \n",
"</table>"
],
"text/plain": [
"#<Daru::DataFrame(6x4)>\n",
" col0 col1 col2 col3\n",
" 0 1 0.1 11 5\n",
" 1 2 0.2 22 4\n",
" 2 3 0.3 33 3\n",
" 3 4 0.4 44 2\n",
" 4 5 0.5 55 1\n",
" 5 6 0.6 66 0"
]
},
"execution_count": 79,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.sort([\"col3\", \"col1\"], ascending: [false, true])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Ruby 2.3.1",
"language": "ruby",
"name": "ruby"
},
"language_info": {
"file_extension": ".rb",
"mimetype": "application/x-ruby",
"name": "ruby",
"version": "2.3.1"
},
"nav_menu": {},
"toc": {
"navigate_menu": true,
"number_sections": true,
"sideBar": true,
"threshold": 6,
"toc_cell": false,
"toc_section_display": "block",
"toc_window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment