420 lines
69 KiB
Plaintext
420 lines
69 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"metadata": {
|
||
"collapsed": true
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"import numpy as np\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"import scipy\n",
|
||
"from glob import glob"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 16,
|
||
"outputs": [],
|
||
"source": [
|
||
"def read_xy(path: str):\n",
|
||
" df = pd.read_csv(path)\n",
|
||
" df['N'] = df.index + 1\n",
|
||
" df['r'] = (df.x ** 2 + df.y ** 2) ** 0.5\n",
|
||
" df['cr'] = df.r.cummax()\n",
|
||
" df['fd'] = np.log(df.N) / np.log(df.cr)\n",
|
||
"\n",
|
||
" return df"
|
||
],
|
||
"metadata": {
|
||
"collapsed": false
|
||
}
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"outputs": [],
|
||
"source": [
|
||
"def read_all(load_dir: str):\n",
|
||
" paths = glob(f'{load_dir}/*.csv')\n",
|
||
" return [read_xy(path) for path in paths]"
|
||
],
|
||
"metadata": {
|
||
"collapsed": false
|
||
}
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 24,
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": " x y N r cr fd\n0 0 0 1 0.000000 0.000000 -0.000000\n1 -1 0 2 1.000000 1.000000 inf\n2 -2 0 3 2.000000 2.000000 1.584963\n3 1 0 4 1.000000 2.000000 2.000000\n4 -3 0 5 3.000000 3.000000 1.464974\n.. .. .. ... ... ... ...\n995 -18 -4 996 18.439089 54.120237 1.729739\n996 -47 -19 997 50.695167 54.120237 1.729990\n997 -3 20 998 20.223748 54.120237 1.730241\n998 -40 14 999 42.379240 54.120237 1.730492\n999 35 -3 1000 35.128336 54.120237 1.730743\n\n[1000 rows x 6 columns]",
|
||
"text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>x</th>\n <th>y</th>\n <th>N</th>\n <th>r</th>\n <th>cr</th>\n <th>fd</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>0</td>\n <td>0</td>\n <td>1</td>\n <td>0.000000</td>\n <td>0.000000</td>\n <td>-0.000000</td>\n </tr>\n <tr>\n <th>1</th>\n <td>-1</td>\n <td>0</td>\n <td>2</td>\n <td>1.000000</td>\n <td>1.000000</td>\n <td>inf</td>\n </tr>\n <tr>\n <th>2</th>\n <td>-2</td>\n <td>0</td>\n <td>3</td>\n <td>2.000000</td>\n <td>2.000000</td>\n <td>1.584963</td>\n </tr>\n <tr>\n <th>3</th>\n <td>1</td>\n <td>0</td>\n <td>4</td>\n <td>1.000000</td>\n <td>2.000000</td>\n <td>2.000000</td>\n </tr>\n <tr>\n <th>4</th>\n <td>-3</td>\n <td>0</td>\n <td>5</td>\n <td>3.000000</td>\n <td>3.000000</td>\n <td>1.464974</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>995</th>\n <td>-18</td>\n <td>-4</td>\n <td>996</td>\n <td>18.439089</td>\n <td>54.120237</td>\n <td>1.729739</td>\n </tr>\n <tr>\n <th>996</th>\n <td>-47</td>\n <td>-19</td>\n <td>997</td>\n <td>50.695167</td>\n <td>54.120237</td>\n <td>1.729990</td>\n </tr>\n <tr>\n <th>997</th>\n <td>-3</td>\n <td>20</td>\n <td>998</td>\n <td>20.223748</td>\n <td>54.120237</td>\n <td>1.730241</td>\n </tr>\n <tr>\n <th>998</th>\n <td>-40</td>\n <td>14</td>\n <td>999</td>\n <td>42.379240</td>\n <td>54.120237</td>\n <td>1.730492</td>\n </tr>\n <tr>\n <th>999</th>\n <td>35</td>\n <td>-3</td>\n <td>1000</td>\n <td>35.128336</td>\n <td>54.120237</td>\n <td>1.730743</td>\n </tr>\n </tbody>\n</table>\n<p>1000 rows × 6 columns</p>\n</div>"
|
||
},
|
||
"execution_count": 24,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"a = read_xy(\"/Users/joshuacoles/Developer/checkouts/jc3091/CompB DLA/data-analysis/data/minimal-viable-alteration/1-1000.csv\")\n",
|
||
"a"
|
||
],
|
||
"metadata": {
|
||
"collapsed": false
|
||
}
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 48,
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n",
|
||
"/Users/joshuacoles/Library/Caches/pypoetry/virtualenvs/data-analysis-B4Au_hWl-py3.10/lib/python3.10/site-packages/pandas/core/arraylike.py:402: RuntimeWarning: divide by zero encountered in log\n",
|
||
" result = getattr(ufunc, method)(*inputs, **kwargs)\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"dfs = read_all('/Users/joshuacoles/Developer/checkouts/jc3091/CompB DLA/data-analysis/data/minimal-viable-alteration')"
|
||
],
|
||
"metadata": {
|
||
"collapsed": false
|
||
}
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 49,
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": "<Figure size 640x480 with 1 Axes>",
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGdCAYAAABO2DpVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABCEklEQVR4nO3deZzcdZ3n8df39/vV2feRdOfohISEhBBC5EiIiiIEkWFQR51hXVYZdHVwwj5kcT3QGZnD2bA7M86MDsM6jsrM7iCeqKsSZQmHB2cgkBAIVyAHudNdXXfV7/f77h/VqaRJAiT8uiupfj95FFX1Oz+/b1fq967faay1FhEREZEIOI0uQERERJqHgoWIiIhERsFCREREIqNgISIiIpFRsBAREZHIKFiIiIhIZBQsREREJDIKFiIiIhIZb7xnGIYhL7/8Mm1tbRhjxnv2IiIicgystWSzWaZOnYrjHHm7xLgHi5dffpmBgYHxnq2IiIhEYMuWLUyfPv2I/cc9WLS1tQG1wtrb28d79iIiInIMhoeHGRgYqK/Hj2Tcg8X+3R/t7e0KFiIiIieY1zqMQQdvioiISGQULERERCQyChYiIiISGQULERERiYyChYiIiERGwUJEREQio2AhIiIikVGwEBERkcgoWIiIiEhkFCxEREQkMgoWIiIiEhkFCxEREYnMuN+EbKw8/Bffoq9QZmc6wTlfvKrR5YiIiExITbPF4qTSJhxO46TSpkaXIiIiMmE1TbCImeFRzyIiIjL+miZYiIiISOMpWIiIiEhkFCxEREQkMk0YLEyjCxAREZmwmihY2EYXICIiMuE1UbAQERGRRlOwEBERkcgoWIiIiEhkFCxEREQkMk0YLHRWiIiISKM0YbAQERGRRmmaYGF0uqmIiEjDNU2wEBERkcZTsBAREZHIKFiIiIhIZBQsREREJDJNGCx0uqmIiEijNGGwEBERkUZRsBAREZHIKFiIiIhIZBQsREREJDIKFiIiIhIZBQsRERGJjIKFiIiIRKaJgoVuQiYiItJoTRQsREREpNEULERERCQyChYiIiISmSYMFrpXiIiISKM0YbAQERGRRlGwEBERkcg0UbDQ6aYiIiKN1kTBQkRERBpNwUJEREQi04TBQmeFiIiINEoTBgsRERFpFAULERERiUwTBQudFSIiItJoTRQsREREpNEULERERCQyChYiIiISmTcULG688UaMMVx77bURlSMiIiInsmMOFg8//DBf+9rXWLRoUZT1iIiIyAnsmIJFLpfjiiuu4Otf/zpdXV1R1yQiIiInqGMKFitWrODSSy9l+fLlrzlsuVxmeHh41GMsfH5gMe94u8vXu2eNyfRFRETktR11sLjtttt49NFHWbly5esafuXKlXR0dNQfAwMDR13k6/GDeeeQTab5+oLFYzJ9EREReW1HFSy2bNnCJz/5Sf793/+dZDL5usa5/vrryWQy9ceWLVuOqdDXK3B0oouIiEijeEcz8Jo1a9i1axdnnnlmvVsQBNx333384z/+I+VyGdd1R42TSCRIJBLRVCsiIiLHtaMKFhdeeCHr1q0b1e2qq65i/vz5fPaznz0kVIiIiMjEclTBoq2tjYULF47q1tLSQk9PzyHdRUREZOLRAQkiIiISmaPaYnE499xzTwRliIiISDPQFgsRERGJjIKFiIiIREbBQkRERCKjYCEiIiKRUbAQERGRyChYiIiISGQULERERCQyChYiIiISGQULERERiYyChYiIiERGwUJEREQio2AhIiIikVGwEBERkcgoWIiIiEhkFCxEREQkMgoWIiIiEhkFCxEREYmMgoWIiIhERsFCREREIqNgISIiIpFRsBAREZHIKFiIiIhIZBQsREREJDIKFiIiIhIZBQsRERGJjIKFiIiIREbBQkRERCKjYCEiIiKRUbAQERGRyChYiIiISGQULERERCQyChYiIiISGQULERERiUzTBQtjG12BiIjIxNV0wcKaRlcgIiIycTVdsBAREZHGUbAQERGRyChYiIiISGQULERERCQyChYiIiISGQULERERiUzTBQtdx0JERKRxmi5Y6DoWIiIijdN0wUJEREQaR8FCREREIqNgISIiIpFRsBAREZHIKFiIiIhIZBQsREREJDJNFyx0HQsREZHGabpgoetYiIiINE7TBQsRERFpnKYLFp51G12CiIjIhNV0wUKHWIiIiDRO0wSL03fuBWDRnuEGVyIiIjJxNU2w6CqVAUj5QYMrERERmbiaJliIiIhI4ylYiIiISGSaJljo8hUiIiKN1zTBQkRERBpPwUJEREQic1TB4uabb2bRokW0t7fT3t7OsmXLuOOOO8aqtqOy/x4huo6FiIhI4xxVsJg+fTo33ngja9as4ZFHHuGCCy7gPe95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Wrq7u5kxY0akxYmIiMiJ5aiDxSOPPMI73vGO+vvrrrsOgCuvvJJbbrklssJERETkxHPUweL888/HWjsWtYiIiMgJTsdYiIiISGQULERERCQyChYiIiISGQULERERiYyChYiIiERGwUJEREQio2AhIiIikVGwEBERkcgoWIiIiEhkFCxEREQkMgoWIiIiEhkFCxEREYmMgoWIiIhERsFCREREIqNgISIiIpFRsBAREZHIKFiIiIhIZBQsREREJDIKFiIiIhIZBQsRERGJjIKFiIiIREbBQkRERCKjYCEiIiKRUbAQERGRyChYiIiISGQULERERCQyChYiIiISGQULERERiYyChYiIiERGwUJEREQio2AhIiIikVGwEBERkcgoWIiIiEhkFCxEREQkMgoWIiIiEhkFCxEREYmMgoWIiIhERsFCREREIqNgISIiIpFRsBAREZHIKFiIiIhIZBQsREREJDIKFiIiIhIZBQsRERGJjIKFiIiIREbBQkRERCKjYCEiIiKRUbAQERGRyChYiIiISGQULERERCQyChYiIiISGQULERERiYyChYiIiERGwUJEREQio2AhIiIikVGwEBERkcgoWIiIiEhkFCxEREQkMgoWIiIiEhkFCxEREYmMgoWIiIhE5piCxU033cRJJ51EMplk6dKlPPTQQ1HXJSIiIiegow4W3/nOd7juuuu44YYbePTRRznjjDO4+OKL2bVr11jUJyIiIieQow4WX/7yl/nYxz7GVVddxYIFC/hf/+t/kU6n+eY3vzkW9YmIiMgJ5KiCRaVSYc2aNSxfvvzABByH5cuXc//99x92nHK5zPDw8KiHiIiINKejChZ79uwhCAL6+vpGde/r62PHjh2HHWflypV0dHTUHwMDA8derYiIiBzXxvyskOuvv55MJlN/bNmyZaxnKSIiIg3iHc3Avb29uK7Lzp07R3XfuXMn/f39hx0nkUiQSCSOvUIRERE5YRzVFot4PM5ZZ53FXXfdVe8WhiF33XUXy5Yti7w4ERERObEc1RYLgOuuu44rr7ySs88+myVLlvD3f//35PN5rrrqqrGoT0RERE4gRx0sLr/8cnbv3s0Xv/hFduzYweLFi1m1atUhB3SKiIjIxGOstXY8Zzg8PExHRweZTIb29vbxnLWIiIgco9e7/ta9QkRERCQyChYiIiISGQULERERiYyChYiIiERGwUJEREQio2AhIiIikVGwEBERkcgoWIiIiEhkFCxEREQkMkd9Se83av+FPoeHh8d71iIiInKM9q+3X+uC3eMeLLLZLAADAwPjPWsRERF5g7LZLB0dHUfsP+73CgnDkJdffpm2tjaMMZFNd3h4mIGBAbZs2aJ7kIwhtfP4UDuPH7X1+FA7j4+xbGdrLdlslqlTp+I4Rz6SYty3WDiOw/Tp08ds+u3t7frQjgO18/hQO48ftfX4UDuPj7Fq51fbUrGfDt4UERGRyChYiIiISGSaJlgkEgluuOEGEolEo0tpamrn8aF2Hj9q6/Ghdh4fx0M7j/vBmyIiItK8mmaLhYiIiDSegoWIiIhERsFCREREIqNgISIiIpFpmmBx0003cdJJJ5FMJlm6dCkPPfRQo0s6bt13331cdtllTJ06FWMMP/rRj0b1t9byxS9+kSlTppBKpVi+fDnPPvvsqGH27dvHFVdcQXt7O52dnXz0ox8ll8uNGuaJJ57gvPPOI5lMMjAwwP/8n/9zrBftuLJy5UrOOecc2tramDx5Mu9973vZuHHjqGFKpRIrVqygp6eH1tZW3v/+97Nz585Rw2zevJlLL72UdDrN5MmT+fSnP43v+6OGueeeezjzzDNJJBLMmTOHW265ZawX77hx8803s2jRovoFgZYtW8Ydd9xR7682Hhs33ngjxhiuvfbaeje1dTT+7M/+DGPMqMf8+fPr/Y/7drZN4LbbbrPxeNx+85vftE8++aT92Mc+Zjs7O+3OnTsbXdpx6ec//7n9whe+YH/4wx9awN5+++2j+t944422o6PD/uhHP7KPP/64ffe7321nzZpli8VifZh3vetd9owzzrAPPPCA/dWvfmXnzJljP/jBD9b7ZzIZ29fXZ6+44gq7fv16++1vf9umUin7ta99bbwWs+Euvvhi+61vfcuuX7/erl271v7O7/yOnTFjhs3lcvVhrr76ajswMGDvuusu+8gjj9hzzz3XvvnNb673933fLly40C5fvtw+9thj9uc//7nt7e21119/fX2YF154wabTaXvdddfZDRs22K9+9avWdV27atWqcV3eRvnJT35if/azn9lnnnnGbty40X7+85+3sVjMrl+/3lqrNh4LDz30kD3ppJPsokWL7Cc/+cl6d7V1NG644QZ72mmn2e3bt9cfu3fvrvc/3tu5KYLFkiVL7IoVK+rvgyCwU6dOtStXrmxgVSeGVwaLMAxtf3+//eu//ut6t6GhIZtIJOy3v/1ta621GzZssIB9+OGH68Pccccd1hhjt23bZq219p/+6Z9sV1eXLZfL9WE++9nP2nnz5o3xEh2/du3aZQF77733Wmtr7RqLxez3vve9+jBPPfWUBez9999vra2FQMdx7I4dO+rD3Hzzzba9vb3etp/5zGfsaaedNmpel19+ub344ovHepGOW11dXfZf/uVf1MZjIJvN2rlz59o777zTvv3tb68HC7V1dG644QZ7xhlnHLbfidDOJ/yukEqlwpo1a1i+fHm9m+M4LF++nPvvv7+BlZ2YNm3axI4dO0a1Z0dHB0uXLq235/33309nZydnn312fZjly5fjOA4PPvhgfZi3ve1txOPx+jAXX3wxGzduZHBwcJyW5viSyWQA6O7uBmDNmjVUq9VRbT1//nxmzJgxqq1PP/10+vr66sNcfPHFDA8P8+STT9aHOXga+4eZiJ//IAi47bbbyOfzLFu2TG08BlasWMGll156SHuoraP17LPPMnXqVGbPns0VV1zB5s2bgROjnU/4YLFnzx6CIBjVgAB9fX3s2LGjQVWduPa32au1544dO5g8efKo/p7n0d3dPWqYw03j4HlMJGEYcu211/KWt7yFhQsXArV2iMfjdHZ2jhr2lW39Wu14pGGGh4cpFotjsTjHnXXr1tHa2koikeDqq6/m9ttvZ8GCBWrjiN122208+uijrFy58pB+auvoLF26lFtuuYVVq1Zx8803s2nTJs477zyy2ewJ0c7jfndTkYloxYoVrF+/nl//+teNLqUpzZs3j7Vr15LJZPj+97/PlVdeyb333tvosprKli1b+OQnP8mdd95JMplsdDlN7ZJLLqm/XrRoEUuXLmXmzJl897vfJZVKNbCy1+eE32LR29uL67qHHBG7c+dO+vv7G1TViWt/m71ae/b397Nr165R/X3fZ9++faOGOdw0Dp7HRHHNNdfw05/+lLvvvpvp06fXu/f391OpVBgaGho1/Cvb+rXa8UjDtLe3nxBfQlGIx+PMmTOHs846i5UrV3LGGWfwD//wD2rjCK1Zs4Zdu3Zx5pln4nkenudx77338pWvfAXP8+jr61Nbj5HOzk5OOeUUnnvuuRPiM33CB4t4PM5ZZ53FXXfdVe8WhiF33XUXy5Yta2BlJ6ZZs2bR398/qj2Hh4d58MEH6+25bNkyhoaGWLNmTX2Y1atXE4YhS5curQ9z3333Ua1W68PceeedzJs3j66urnFamsay1nLNNddw++23s3r1ambNmjWq/1lnnUUsFhvV1hs3bmTz5s2j2nrdunWjgtydd95Je3s7CxYsqA9z8DT2DzORP/9hGFIul9XGEbrwwgtZt24da9eurT/OPvtsrrjiivprtfXYyOVyPP/880yZMuXE+Ey/4cM/jwO33XabTSQS9pZbbrEbNmywH//4x21nZ+eoI2LlgGw2ax977DH72GOPWcB++ctfto899ph96aWXrLW10007Ozvtj3/8Y/vEE0/Y97znPYc93fRNb3qTffDBB+2vf/1rO3fu3FGnmw4NDdm+vj77oQ99yK5fv97edtttNp1OT6jTTT/xiU/Yjo4Oe88994w6baxQKNSHufrqq+2MGTPs6tWr7SOPPGKXLVtmly1bVu+//7Sxd77znXbt2rV21apVdtKkSYc9bezTn/60feqpp+xNN900oU7P+9znPmfvvfdeu2nTJvvEE0/Yz33uc9YYY3/5y19aa9XGY+ngs0KsVVtH5VOf+pS955577KZNm+xvfvMbu3z5ctvb22t37dplrT3+27kpgoW11n71q1+1M2bMsPF43C5ZssQ+8MADjS7puHX33Xdb4JDHlVdeaa2tnXL6p3/6p7avr88mEgl74YUX2o0bN46axt69e+0HP/hB29raatvb2+1VV11ls9nsqGEef/xx+9a3vtUmEgk7bdo0e+ONN47XIh4XDtfGgP3Wt75VH6ZYLNo//uM/tl1dXTadTtvf+73fs9u3bx81nRdffNFecsklNpVK2d7eXvupT33KVqvVUcPcfffddvHixTYej9vZs2ePmkez+8hHPmJnzpxp4/G4nTRpkr3wwgvrocJatfFYemWwUFtH4/LLL7dTpkyx8XjcTps2zV5++eX2ueeeq/c/3ttZt00XERGRyJzwx1iIiIjI8UPBQkRERCKjYCEiIiKRUbAQERGRyChYiIiISGQULERERCQyChYiIiISGQULERERiYyChYiIiERGwUJEREQio2AhIiIikVGwEBERkcj8fxhkuw967EJ7AAAAAElFTkSuQmCC"
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"for df in dfs:\n",
|
||
" plt.plot(df.N, df.fd)\n",
|
||
"\n",
|
||
"plt.show()"
|
||
],
|
||
"metadata": {
|
||
"collapsed": false
|
||
}
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 44,
|
||
"outputs": [],
|
||
"source": [
|
||
"def convergent_tail_index(series, tol):\n",
|
||
" diffs = np.abs(np.ediff1d(a.fd))\n",
|
||
" for i in range(0, len(diffs)):\n",
|
||
" if np.max(diffs[i:]) <= tol:\n",
|
||
" return i\n",
|
||
"\n",
|
||
" # No convergence found\n",
|
||
" return None"
|
||
],
|
||
"metadata": {
|
||
"collapsed": false
|
||
}
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 45,
|
||
"outputs": [],
|
||
"source": [
|
||
"def compute_fd(df):\n",
|
||
" tail_index = convergent_tail_index(df.fd, 0.05)\n",
|
||
" return np.mean(a.fd[tail_index:])"
|
||
],
|
||
"metadata": {
|
||
"collapsed": false
|
||
}
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 52,
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": "[<matplotlib.lines.Line2D at 0x13718f520>]"
|
||
},
|
||
"execution_count": 52,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": "<Figure size 640x480 with 1 Axes>",
|
||
"image/png": "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PaqysjItXrxY2dnZl3z0VFhYqIyMDEVERFzynIsXL9b+/fv1hz/8QSUlJZo2bZpGjBihKVOmBPoSAACAhQKOmoqKCiUmJioxMVGSlJeXp8TERC1dulSS1NDQ4ASOJPXv31+7du1SS0uLkpKSNHv2bKWnp+uNN97wu25VVZX27dt32Y+egoODdfjwYT388MMaOXKkcnJyNGHCBO3du5ffVQMAACRd443CN5NAbjQCAAA3hhvqRmEAAIDuQNQAAAArEDUAAMAKRA0AALACUQMAAKxA1AAAACsQNQAAwApEDQAAsAJRAwAArEDUAAAAKxA1AADACkQNAACwAlEDAACsQNQAAAArEDUAAMAKRA0AALACUQMAAKxA1AAAACsQNQAAwApEDQAAsAJRAwAArEDUAAAAKxA1AADACkQNAACwAlEDAACsQNQAAAArEDUAAMAKRA0AALACUQMAAKxA1AAAACsQNQAAwApEDQAAsAJRAwAArEDUAAAAKxA1AADACkQNAACwAlEDAACsQNQAAAArBBw1ZWVlSk9PV0xMjFwul4qLi7/yHJ/PpyVLlig+Pl5ut1sJCQkqKipyjq9du1Yul8tv69Onj981jDFaunSpoqOj1bdvX6WmpurDDz8MdPoAAMBSvQI9ob29XePHj1d2drYyMzM7dc6jjz6qpqYmFRYWasSIEWpoaFBHR4ffmNDQUFVVVTmPXS6X3/EVK1bojTfe0Lp16zRs2DC9+uqrmjJlio4ePXpJAAEAgK+fgKMmLS1NaWlpnR6/c+dOlZaWqqamRuHh4ZKkhISES8a5XC5FRUVd9hrGGK1cuVKvvPKKpk2bJklav369IiMjVVxcrMceeyzQlwEAACxz3e+p2b59u5KSkrRixQoNGTJEI0eO1AsvvKBz5875jWtra1N8fLxiY2M1bdo0vf/++86x2tpaNTY2KjU11dnn8XiUnJys8vLy6/0SAADATSDgd2oCVVNTo3379qlPnz7atm2bTp8+rWeffVbNzc1as2aNJOm2225TUVGRxo0bp9bWVr3++uu6++679f7772vo0KFqbGyUJEVGRvpdOzIy0jn253w+n3w+n/PY6/Vep1cIAABuBNf9nZqOjg65XC5t2LBBd955px588EH96Ec/0rp165x3a1JSUjR37lx961vf0n333aetW7dq0KBB+pd/+Zerft6CggJ5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z5eOcZnOpI8FOjo6VF9frwEDBsjlcnXptb1er2JjY3XixAmFhoZ26bXhj7XuPqx192Gtuw9r3X26aq2NMTpz5oxiYmIUFPTld818bd6pCQoK0tChQ6/rc4SGhvI/STdhrbsPa919WOvuw1p3n65Y6696h+YL3CgMAACsQNQAAAArEDVdwO1267vf/a7cbndPT8V6rHX3Ya27D2vdfVjr7tMTa/21uVEYAADYjXdqAACAFYgaAABgBaIGAABYgagBAABWIGqu0erVq5WQkKA+ffooOTlZBw8e7Okp3fQKCgp0xx13aMCAARo8eLAyMjJUVVXlN+azzz5Tbm6uIiIi1L9/f02fPl1NTU09NGN7LF++XC6XSwsXLnT2sdZd59SpU3r88ccVERGhvn376vbbb1dFRYVz3BijpUuXKjo6Wn379lVqaqo+/PDDHpzxzenixYt69dVXNWzYMPXt21fDhw/X97//fb+/HcRaX72ysjKlp6crJiZGLpdLxcXFfsc7s7affPKJZs+erdDQUIWFhSknJ0dtbW3XPjmDq7Zp0yYTEhJiioqKzPvvv2+efPJJExYWZpqamnp6aje1KVOmmDVr1pgjR46YyspK8+CDD5q4uDjT1tbmjHn66adNbGysKSkpMRUVFeauu+4yd999dw/O+uZ38OBBk5CQYMaNG2eef/55Zz9r3TU++eQTEx8fb+bNm2cOHDhgampqzH/913+Z6upqZ8zy5cuNx+MxxcXF5ve//715+OGHzbBhw8y5c+d6cOY3n9dee81ERESYt956y9TW1prNmzeb/v37m1WrVjljWOur9+tf/9osWbLEbN261Ugy27Zt8zvembWdOnWqGT9+vNm/f7/Zu3evGTFihJk5c+Y1z42ouQZ33nmnyc3NdR5fvHjRxMTEmIKCgh6clX0+/vhjI8mUlpYaY4xpaWkxvXv3Nps3b3bG/O///q+RZMrLy3tqmje1M2fOmG984xtm165d5r777nOihrXuOi+++KK55557rni8o6PDREVFmX/8x3909rW0tBi3223+/d//vTumaI2HHnrIZGdn++3LzMw0s2fPNsaw1l3pz6OmM2t79OhRI8m88847zpgdO3YYl8tlTp06dU3z4eOnq3T+/HkdOnRIqampzr6goCClpqaqvLy8B2dmn9bWVklSeHi4JOnQoUO6cOGC39qPGjVKcXFxrP1Vys3N1UMPPeS3phJr3ZW2b9+upKQkzZgxQ4MHD1ZiYqJ+9rOfOcdra2vV2Njot9Yej0fJycmsdYDuvvtulZSU6NixY5Kk3//+99q3b5/S0tIksdbXU2fWtry8XGFhYUpKSnLGpKamKigoSAcOHLim5//a/EHLrnb69GldvHhRkZGRfvsjIyP1wQcf9NCs7NPR0aGFCxdq4sSJGjt2rCSpsbFRISEhCgsL8xsbGRmpxsbGHpjlzW3Tpk363e9+p3feeeeSY6x116mpqdGbb76pvLw8vfzyy3rnnXf0d3/3dwoJCVFWVpaznpf7N4W1DsxLL70kr9erUaNGKTg4WBcvXtRrr72m2bNnSxJrfR11Zm0bGxs1ePBgv+O9evVSeHj4Na8/UYMbWm5uro4cOaJ9+/b19FSsdOLECT3//PPatWuX+vTp09PTsVpHR4eSkpL0D//wD5KkxMREHTlyRD/96U+VlZXVw7Ozyy9+8Qtt2LBBGzdu1JgxY1RZWamFCxcqJiaGtbYcHz9dpYEDByo4OPiSb4E0NTUpKiqqh2Zll+eee05vvfWWfvvb32ro0KHO/qioKJ0/f14tLS1+41n7wB06dEgff/yx/vIv/1K9evVSr169VFpaqjfeeEO9evVSZGQka91FoqOj9c1vftNv3+jRo1VXVydJznryb8q1W7x4sV566SU99thjuv322zVnzhwtWrRIBQUFkljr66kzaxsVFaWPP/7Y7/gf//hHffLJJ9e8/kTNVQoJCdGECRNUUlLi7Ovo6FBJSYlSUlJ6cGY3P2OMnnvuOW3btk1vv/22hg0b5nd8woQJ6t27t9/aV1VVqa6ujrUP0OTJk/Xee++psrLS2ZKSkjR79mznv1nrrjFx4sRLfjXBsWPHFB8fL0kaNmyYoqKi/Nba6/XqwIEDrHWAzp49q6Ag/x9vwcHB6ujokMRaX0+dWduUlBS1tLTo0KFDzpi3335bHR0dSk5OvrYJXNNtxl9zmzZtMm6326xdu9YcPXrUPPXUUyYsLMw0Njb29NRuas8884zxeDxmz549pqGhwdnOnj3rjHn66adNXFycefvtt01FRYVJSUkxKSkpPThre/zpt5+MYa27ysGDB02vXr3Ma6+9Zj788EOzYcMG069fP/Pzn//cGbN8+XITFhZmfvnLX5rDhw+badOm8TXjq5CVlWWGDBnifKV769atZuDAgeY73/mOM4a1vnpnzpwx7777rnn33XeNJPOjH/3IvPvuu+ajjz4yxnRubadOnWoSExPNgQMHzL59+8w3vvENvtJ9I/inf/onExcXZ0JCQsydd95p9u/f39NTuulJuuy2Zs0aZ8y5c+fMs88+a2655RbTr18/89d//demoaGh5yZtkT+PGta66/zqV78yY8eONW6324waNcr867/+q9/xjo4O8+qrr5rIyEjjdrvN5MmTTVVVVQ/N9ubl9XrN888/b+Li4kyfPn3MrbfeapYsWWJ8Pp8zhrW+er/97W8v+290VlaWMaZza9vc3Gxmzpxp+vfvb0JDQ838+fPNmTNnrnluLmP+5FcsAgAA3KS4pwYAAFiBqAEAAFYgagAAgBWIGgAAYAWiBgAAWIGoAQAAViBqAACAFYgaAABgBaIGAABYgagBAABWIGoAAIAViBoAAGCF/wdjg/woHIa15gAAAABJRU5ErkJggg=="
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"plt.plot([compute_fd(df) for df in dfs])"
|
||
],
|
||
"metadata": {
|
||
"collapsed": false
|
||
}
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"source": [
|
||
"Interesting that this produces the same value, I suppose we have convergence to the accuracy of a double?"
|
||
],
|
||
"metadata": {
|
||
"collapsed": false
|
||
}
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"outputs": [],
|
||
"source": [],
|
||
"metadata": {
|
||
"collapsed": false
|
||
}
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 2
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython2",
|
||
"version": "2.7.6"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 0
|
||
}
|