{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"###### Future question for Dr. Soto\n",
"\n",
"Should I concatinate the dataframes on integer indices or Date-Time indices? I dont think it will make a difference.. not sure which one is easier"
]
},
{
"cell_type": "code",
"execution_count": 777,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"import pandas as pd\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 778,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Timestamp | \n",
" Temperature | \n",
" Humidity | \n",
" CO2 | \n",
" Noise | \n",
" Pressure | \n",
"
\n",
" \n",
" \n",
" \n",
" count | \n",
" 9.014300e+04 | \n",
" 90143.000000 | \n",
" 90143.000000 | \n",
" 90137.000000 | \n",
" 90132.000000 | \n",
" 90143.000000 | \n",
"
\n",
" \n",
" mean | \n",
" 1.469613e+09 | \n",
" 22.766724 | \n",
" 51.291637 | \n",
" 550.204799 | \n",
" 38.964730 | \n",
" 1011.348933 | \n",
"
\n",
" \n",
" std | \n",
" 7.900773e+06 | \n",
" 1.592268 | \n",
" 6.929620 | \n",
" 318.321732 | \n",
" 7.100703 | \n",
" 4.217541 | \n",
"
\n",
" \n",
" min | \n",
" 1.455917e+09 | \n",
" 17.900000 | \n",
" 27.000000 | \n",
" 201.000000 | \n",
" 35.000000 | \n",
" 995.000000 | \n",
"
\n",
" \n",
" 25% | \n",
" 1.462765e+09 | \n",
" 21.700000 | \n",
" 49.000000 | \n",
" 354.000000 | \n",
" 36.000000 | \n",
" 1008.300000 | \n",
"
\n",
" \n",
" 50% | \n",
" 1.469657e+09 | \n",
" 22.900000 | \n",
" 52.000000 | \n",
" 416.000000 | \n",
" 36.000000 | \n",
" 1011.000000 | \n",
"
\n",
" \n",
" 75% | \n",
" 1.476459e+09 | \n",
" 23.800000 | \n",
" 55.000000 | \n",
" 639.000000 | \n",
" 38.000000 | \n",
" 1014.100000 | \n",
"
\n",
" \n",
" max | \n",
" 1.483257e+09 | \n",
" 28.500000 | \n",
" 76.000000 | \n",
" 2777.000000 | \n",
" 79.000000 | \n",
" 1027.500000 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 778,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df1 = pd.read_csv('NetAtmo_2016.csv', parse_dates = True,)\n",
"df1.describe()"
]
},
{
"cell_type": "code",
"execution_count": 779,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"new_index1 = pd.Series(range(1,90144))"
]
},
{
"cell_type": "code",
"execution_count": 780,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"df1['Numbered_index'] = new_index1"
]
},
{
"cell_type": "code",
"execution_count": 781,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Timestamp | \n",
" Timezone : America/Los_Angeles | \n",
" Temperature | \n",
" Humidity | \n",
" CO2 | \n",
" Noise | \n",
" Pressure | \n",
"
\n",
" \n",
" Numbered_index | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 1455917199 | \n",
" 2/19/16 13:26 | \n",
" 18.8 | \n",
" 76 | \n",
" NaN | \n",
" NaN | \n",
" 1015.7 | \n",
"
\n",
" \n",
" 2 | \n",
" 1455917255 | \n",
" 2/19/16 13:27 | \n",
" 19.2 | \n",
" 75 | \n",
" 718.0 | \n",
" NaN | \n",
" 1015.7 | \n",
"
\n",
" \n",
" 3 | \n",
" 1455917257 | \n",
" 2/19/16 13:27 | \n",
" 19.9 | \n",
" 73 | \n",
" NaN | \n",
" NaN | \n",
" 1015.7 | \n",
"
\n",
" \n",
" 4 | \n",
" 1455917513 | \n",
" 2/19/16 13:31 | \n",
" 20.3 | \n",
" 73 | \n",
" 337.0 | \n",
" 44.0 | \n",
" 1015.8 | \n",
"
\n",
" \n",
" 5 | \n",
" 1455917814 | \n",
" 2/19/16 13:36 | \n",
" 21.2 | \n",
" 70 | \n",
" 332.0 | \n",
" 47.0 | \n",
" 1015.7 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 781,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df1.set_index('Numbered_index', inplace = True)\n",
"df1.head()"
]
},
{
"cell_type": "code",
"execution_count": 782,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"df1.drop(df1.columns[[0,2,3,5,6]], axis =1, inplace = True)"
]
},
{
"cell_type": "code",
"execution_count": 783,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Timezone : America/Los_Angeles | \n",
" CO2 | \n",
"
\n",
" \n",
" Numbered_index | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 2/19/16 13:26 | \n",
" NaN | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 783,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df1.head(1)"
]
},
{
"cell_type": "code",
"execution_count": 784,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"df2 = pd.read_csv('NetAtmo_2017.csv', parse_dates = True)"
]
},
{
"cell_type": "code",
"execution_count": 785,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"new_index2 = pd.Series(range(90144, 100992))"
]
},
{
"cell_type": "code",
"execution_count": 786,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"df2['numbered_index'] = new_index2"
]
},
{
"cell_type": "code",
"execution_count": 787,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"df2.set_index('numbered_index', inplace = True)\n"
]
},
{
"cell_type": "code",
"execution_count": 788,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"df2.drop(df2.columns[[0,2,3,5,6]], axis =1, inplace = True)"
]
},
{
"cell_type": "code",
"execution_count": 789,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Time | \n",
" CO2 | \n",
"
\n",
" \n",
" numbered_index | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 90144 | \n",
" 1/1/17 0:00 | \n",
" 482 | \n",
"
\n",
" \n",
" 90145 | \n",
" 1/1/17 0:05 | \n",
" 491 | \n",
"
\n",
" \n",
" 90146 | \n",
" 1/1/17 0:11 | \n",
" 480 | \n",
"
\n",
" \n",
" 90147 | \n",
" 1/1/17 0:16 | \n",
" 486 | \n",
"
\n",
" \n",
" 90148 | \n",
" 1/1/17 0:21 | \n",
" 490 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 789,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df2.head()"
]
},
{
"cell_type": "code",
"execution_count": 790,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Timezone : America/Los_Angeles | \n",
" CO2 | \n",
"
\n",
" \n",
" Numbered_index | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 2/19/16 13:26 | \n",
" NaN | \n",
"
\n",
" \n",
" 2 | \n",
" 2/19/16 13:27 | \n",
" 718.0 | \n",
"
\n",
" \n",
" 3 | \n",
" 2/19/16 13:27 | \n",
" NaN | \n",
"
\n",
" \n",
" 4 | \n",
" 2/19/16 13:31 | \n",
" 337.0 | \n",
"
\n",
" \n",
" 5 | \n",
" 2/19/16 13:36 | \n",
" 332.0 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 790,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df1.head()"
]
},
{
"cell_type": "code",
"execution_count": 791,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Time | \n",
" CO2 | \n",
"
\n",
" \n",
" Numbered_index | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 2/19/16 13:26 | \n",
" NaN | \n",
"
\n",
" \n",
" 2 | \n",
" 2/19/16 13:27 | \n",
" 718.0 | \n",
"
\n",
" \n",
" 3 | \n",
" 2/19/16 13:27 | \n",
" NaN | \n",
"
\n",
" \n",
" 4 | \n",
" 2/19/16 13:31 | \n",
" 337.0 | \n",
"
\n",
" \n",
" 5 | \n",
" 2/19/16 13:36 | \n",
" 332.0 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 791,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df1 = df1.rename(columns = {'Timezone : America/Los_Angeles':'Time'})\n",
"df1.head()"
]
},
{
"cell_type": "code",
"execution_count": 792,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Time | \n",
" CO2 | \n",
"
\n",
" \n",
" numbered_index | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 100987 | \n",
" 2/12/17 18:27 | \n",
" 484 | \n",
"
\n",
" \n",
" 100988 | \n",
" 2/12/17 18:32 | \n",
" 486 | \n",
"
\n",
" \n",
" 100989 | \n",
" 2/12/17 18:37 | \n",
" 469 | \n",
"
\n",
" \n",
" 100990 | \n",
" 2/12/17 18:42 | \n",
" 485 | \n",
"
\n",
" \n",
" 100991 | \n",
" 2/12/17 18:47 | \n",
" 480 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 792,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df2.tail()"
]
},
{
"cell_type": "code",
"execution_count": 793,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Time | \n",
" CO2 | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 2/19/16 13:26 | \n",
" NaN | \n",
"
\n",
" \n",
" 2 | \n",
" 2/19/16 13:27 | \n",
" 718.0 | \n",
"
\n",
" \n",
" 3 | \n",
" 2/19/16 13:27 | \n",
" NaN | \n",
"
\n",
" \n",
" 4 | \n",
" 2/19/16 13:31 | \n",
" 337.0 | \n",
"
\n",
" \n",
" 5 | \n",
" 2/19/16 13:36 | \n",
" 332.0 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 793,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3 = pd.concat([df1,df2])\n",
"df3.head()"
]
},
{
"cell_type": "code",
"execution_count": 794,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Time | \n",
" CO2 | \n",
"
\n",
" \n",
" \n",
" \n",
" 100987 | \n",
" 2/12/17 18:27 | \n",
" 484.0 | \n",
"
\n",
" \n",
" 100988 | \n",
" 2/12/17 18:32 | \n",
" 486.0 | \n",
"
\n",
" \n",
" 100989 | \n",
" 2/12/17 18:37 | \n",
" 469.0 | \n",
"
\n",
" \n",
" 100990 | \n",
" 2/12/17 18:42 | \n",
" 485.0 | \n",
"
\n",
" \n",
" 100991 | \n",
" 2/12/17 18:47 | \n",
" 480.0 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 794,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.tail()"
]
},
{
"cell_type": "code",
"execution_count": 795,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 795,
"metadata": {
},
"output_type": "execute_result"
},
{
"data": {
"image/png": "ca3b9873cafef467138c03a5f781afff01615a03"
},
"execution_count": 795,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.plot()"
]
},
{
"cell_type": "code",
"execution_count": 796,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"#df3.set_index('Time', inplace = True)\n",
"#df3.head()"
]
},
{
"cell_type": "code",
"execution_count": 797,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"#df3.plot()"
]
},
{
"cell_type": "code",
"execution_count": 798,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"#df3.plot.hist()"
]
},
{
"cell_type": "code",
"execution_count": 799,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Time object\n",
"CO2 float64\n",
"dtype: object"
]
},
"execution_count": 799,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.dtypes"
]
},
{
"cell_type": "code",
"execution_count": 800,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Time | \n",
" CO2 | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 2/19/16 13:26 | \n",
" NaN | \n",
"
\n",
" \n",
" 2 | \n",
" 2/19/16 13:27 | \n",
" 718.0 | \n",
"
\n",
" \n",
" 3 | \n",
" 2/19/16 13:27 | \n",
" NaN | \n",
"
\n",
" \n",
" 4 | \n",
" 2/19/16 13:31 | \n",
" 337.0 | \n",
"
\n",
" \n",
" 5 | \n",
" 2/19/16 13:36 | \n",
" 332.0 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 800,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.head()"
]
},
{
"cell_type": "code",
"execution_count": 801,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Time | \n",
" CO2 | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" False | \n",
" True | \n",
"
\n",
" \n",
" 2 | \n",
" False | \n",
" False | \n",
"
\n",
" \n",
" 3 | \n",
" False | \n",
" True | \n",
"
\n",
" \n",
" 4 | \n",
" False | \n",
" False | \n",
"
\n",
" \n",
" 5 | \n",
" False | \n",
" False | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 801,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.isnull().head()"
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
]
},
{
"cell_type": "code",
"execution_count": 802,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"df3['Time'] = pd.to_datetime(df3.Time)"
]
},
{
"cell_type": "code",
"execution_count": 803,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Time | \n",
" CO2 | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 2016-02-19 13:26:00 | \n",
" NaN | \n",
"
\n",
" \n",
" 2 | \n",
" 2016-02-19 13:27:00 | \n",
" 718.0 | \n",
"
\n",
" \n",
" 3 | \n",
" 2016-02-19 13:27:00 | \n",
" NaN | \n",
"
\n",
" \n",
" 4 | \n",
" 2016-02-19 13:31:00 | \n",
" 337.0 | \n",
"
\n",
" \n",
" 5 | \n",
" 2016-02-19 13:36:00 | \n",
" 332.0 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 803,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"https://pandas.pydata.org/pandas-docs/stable/api.html#datetimelike-properties"
]
},
{
"cell_type": "code",
"execution_count": 804,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"1 Friday\n",
"2 Friday\n",
"3 Friday\n",
"4 Friday\n",
"5 Friday\n",
"Name: Time, dtype: object"
]
},
"execution_count": 804,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.Time.dt.weekday_name.head()"
]
},
{
"cell_type": "code",
"execution_count": 805,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"#isolating the seonc day\n",
"Firstday = pd.to_datetime('2/20/2016 23:59:59')"
]
},
{
"cell_type": "code",
"execution_count": 806,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Time | \n",
" CO2 | \n",
"
\n",
" \n",
" \n",
" \n",
" 411 | \n",
" 2016-02-20 23:39:00 | \n",
" 400.0 | \n",
"
\n",
" \n",
" 412 | \n",
" 2016-02-20 23:44:00 | \n",
" 419.0 | \n",
"
\n",
" \n",
" 413 | \n",
" 2016-02-20 23:49:00 | \n",
" 407.0 | \n",
"
\n",
" \n",
" 414 | \n",
" 2016-02-20 23:54:00 | \n",
" 417.0 | \n",
"
\n",
" \n",
" 415 | \n",
" 2016-02-20 23:59:00 | \n",
" 417.0 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 806,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.loc[df3.Time <= Firstday, :].tail()"
]
},
{
"cell_type": "code",
"execution_count": 807,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Timedelta('359 days 05:21:00')"
]
},
"execution_count": 807,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"#almost a full year of data!\n",
"(df3.Time.max() - df3.Time.min())"
]
},
{
"cell_type": "code",
"execution_count": 808,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Time | \n",
" CO2 | \n",
" Day | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 2016-02-19 13:26:00 | \n",
" NaN | \n",
" Friday | \n",
"
\n",
" \n",
" 2 | \n",
" 2016-02-19 13:27:00 | \n",
" 718.0 | \n",
" Friday | \n",
"
\n",
" \n",
" 3 | \n",
" 2016-02-19 13:27:00 | \n",
" NaN | \n",
" Friday | \n",
"
\n",
" \n",
" 4 | \n",
" 2016-02-19 13:31:00 | \n",
" 337.0 | \n",
" Friday | \n",
"
\n",
" \n",
" 5 | \n",
" 2016-02-19 13:36:00 | \n",
" 332.0 | \n",
" Friday | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 808,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3['Day'] = df3.Time.dt.weekday_name\n",
"df3.head()"
]
},
{
"cell_type": "code",
"execution_count": 809,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Saturday 14598\n",
"Tuesday 14589\n",
"Sunday 14539\n",
"Monday 14488\n",
"Wednesday 14472\n",
"Friday 14438\n",
"Thursday 13867\n",
"Name: Day, dtype: int64"
]
},
"execution_count": 809,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"# so many questions\n",
"df3.Day.value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 810,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 810,
"metadata": {
},
"output_type": "execute_result"
},
{
"data": {
"image/png": "4d2d598854af700a098269dbb982bfd299de63df"
},
"execution_count": 810,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.Day.value_counts().plot()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false
},
"source": [
"Switching to df2 because it is still note recognized by datetime"
]
},
{
"cell_type": "code",
"execution_count": 811,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Time | \n",
" CO2 | \n",
"
\n",
" \n",
" numbered_index | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 90144 | \n",
" 1/1/17 0:00 | \n",
" 482 | \n",
"
\n",
" \n",
" 90145 | \n",
" 1/1/17 0:05 | \n",
" 491 | \n",
"
\n",
" \n",
" 90146 | \n",
" 1/1/17 0:11 | \n",
" 480 | \n",
"
\n",
" \n",
" 90147 | \n",
" 1/1/17 0:16 | \n",
" 486 | \n",
"
\n",
" \n",
" 90148 | \n",
" 1/1/17 0:21 | \n",
" 490 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 811,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df2.head()"
]
},
{
"cell_type": "code",
"execution_count": 812,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"#df3['Time2'].head()"
]
},
{
"cell_type": "code",
"execution_count": 813,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Time | \n",
" CO2 | \n",
" Day | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 2016-02-19 13:26:00 | \n",
" NaN | \n",
" Friday | \n",
"
\n",
" \n",
" 2 | \n",
" 2016-02-19 13:27:00 | \n",
" 718.0 | \n",
" Friday | \n",
"
\n",
" \n",
" 3 | \n",
" 2016-02-19 13:27:00 | \n",
" NaN | \n",
" Friday | \n",
"
\n",
" \n",
" 4 | \n",
" 2016-02-19 13:31:00 | \n",
" 337.0 | \n",
" Friday | \n",
"
\n",
" \n",
" 5 | \n",
" 2016-02-19 13:36:00 | \n",
" 332.0 | \n",
" Friday | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 813,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.head()"
]
},
{
"cell_type": "code",
"execution_count": 814,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"df3['Time2'] = df3.Time.shift(-1)"
]
},
{
"cell_type": "code",
"execution_count": 815,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Time | \n",
" CO2 | \n",
" Day | \n",
" Time2 | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 2016-02-19 13:26:00 | \n",
" NaN | \n",
" Friday | \n",
" 2016-02-19 13:27:00 | \n",
"
\n",
" \n",
" 2 | \n",
" 2016-02-19 13:27:00 | \n",
" 718.0 | \n",
" Friday | \n",
" 2016-02-19 13:27:00 | \n",
"
\n",
" \n",
" 3 | \n",
" 2016-02-19 13:27:00 | \n",
" NaN | \n",
" Friday | \n",
" 2016-02-19 13:31:00 | \n",
"
\n",
" \n",
" 4 | \n",
" 2016-02-19 13:31:00 | \n",
" 337.0 | \n",
" Friday | \n",
" 2016-02-19 13:36:00 | \n",
"
\n",
" \n",
" 5 | \n",
" 2016-02-19 13:36:00 | \n",
" 332.0 | \n",
" Friday | \n",
" 2016-02-19 13:41:00 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 815,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.head()"
]
},
{
"cell_type": "code",
"execution_count": 816,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Time | \n",
" CO2 | \n",
" Day | \n",
" Time2 | \n",
" TimeDel | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 2016-02-19 13:26:00 | \n",
" NaN | \n",
" Friday | \n",
" 2016-02-19 13:27:00 | \n",
" 00:01:00 | \n",
"
\n",
" \n",
" 2 | \n",
" 2016-02-19 13:27:00 | \n",
" 718.0 | \n",
" Friday | \n",
" 2016-02-19 13:27:00 | \n",
" 00:00:00 | \n",
"
\n",
" \n",
" 3 | \n",
" 2016-02-19 13:27:00 | \n",
" NaN | \n",
" Friday | \n",
" 2016-02-19 13:31:00 | \n",
" 00:04:00 | \n",
"
\n",
" \n",
" 4 | \n",
" 2016-02-19 13:31:00 | \n",
" 337.0 | \n",
" Friday | \n",
" 2016-02-19 13:36:00 | \n",
" 00:05:00 | \n",
"
\n",
" \n",
" 5 | \n",
" 2016-02-19 13:36:00 | \n",
" 332.0 | \n",
" Friday | \n",
" 2016-02-19 13:41:00 | \n",
" 00:05:00 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 816,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3['TimeDel'] = df3.Time2 - df3.Time\n",
"df3.head()"
]
},
{
"cell_type": "code",
"execution_count": 817,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"1 60.0\n",
"2 0.0\n",
"3 240.0\n",
"4 300.0\n",
"5 300.0\n",
"Name: TimeDel, dtype: float64"
]
},
"execution_count": 817,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.TimeDel.dt.seconds.head()"
]
},
{
"cell_type": "code",
"execution_count": 818,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Time datetime64[ns]\n",
"CO2 float64\n",
"Day object\n",
"Time2 datetime64[ns]\n",
"TimeDel timedelta64[ns]\n",
"dtype: object"
]
},
"execution_count": 818,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.dtypes"
]
},
{
"cell_type": "code",
"execution_count": 819,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"df3['TimeDel'] = df3.TimeDel / np.timedelta64(1, 's')\n"
]
},
{
"cell_type": "code",
"execution_count": 820,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Time datetime64[ns]\n",
"CO2 float64\n",
"Day object\n",
"Time2 datetime64[ns]\n",
"TimeDel float64\n",
"dtype: object"
]
},
"execution_count": 820,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.dtypes"
]
},
{
"cell_type": "code",
"execution_count": 821,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"df3['CO2_over_TimeDiff'] = (df3.CO2 / df3.TimeDel)\n"
]
},
{
"cell_type": "code",
"execution_count": 822,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Time 0\n",
"CO2 6\n",
"Day 0\n",
"Time2 1\n",
"TimeDel 1\n",
"CO2_over_TimeDiff 7\n",
"dtype: int64"
]
},
"execution_count": 822,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"# number of \"not a number\" in each column\n",
"df3.isnull().sum()"
]
},
{
"cell_type": "code",
"execution_count": 823,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Time | \n",
" CO2 | \n",
" Day | \n",
" Time2 | \n",
" TimeDel | \n",
" CO2_over_TimeDiff | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 2016-02-19 13:26:00 | \n",
" NaN | \n",
" Friday | \n",
" 2016-02-19 13:27:00 | \n",
" 60.0 | \n",
" NaN | \n",
"
\n",
" \n",
" 3 | \n",
" 2016-02-19 13:27:00 | \n",
" NaN | \n",
" Friday | \n",
" 2016-02-19 13:31:00 | \n",
" 240.0 | \n",
" NaN | \n",
"
\n",
" \n",
" 2911 | \n",
" 2016-02-29 17:03:00 | \n",
" NaN | \n",
" Monday | \n",
" 2016-02-29 17:05:00 | \n",
" 120.0 | \n",
" NaN | \n",
"
\n",
" \n",
" 32931 | \n",
" 2016-06-14 05:09:00 | \n",
" NaN | \n",
" Tuesday | \n",
" 2016-06-14 05:10:00 | \n",
" 60.0 | \n",
" NaN | \n",
"
\n",
" \n",
" 48678 | \n",
" 2016-08-09 05:21:00 | \n",
" NaN | \n",
" Tuesday | \n",
" 2016-08-09 05:22:00 | \n",
" 60.0 | \n",
" NaN | \n",
"
\n",
" \n",
" 72565 | \n",
" 2016-10-31 15:40:00 | \n",
" NaN | \n",
" Monday | \n",
" 2016-10-31 15:44:00 | \n",
" 240.0 | \n",
" NaN | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 823,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3[df3.CO2.isnull()]"
]
},
{
"cell_type": "code",
"execution_count": 824,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(100991, 6)"
]
},
"execution_count": 824,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.shape"
]
},
{
"cell_type": "code",
"execution_count": 825,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
"# dropping rows that have \"any\" missing values\n",
"df3.dropna(how='any', inplace = True)"
]
},
{
"cell_type": "code",
"execution_count": 826,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(100984, 6)"
]
},
"execution_count": 826,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.shape"
]
},
{
"cell_type": "code",
"execution_count": 827,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Time | \n",
" CO2 | \n",
" Day | \n",
" Time2 | \n",
" TimeDel | \n",
" CO2_over_TimeDiff | \n",
"
\n",
" \n",
" \n",
" \n",
" 2 | \n",
" 2016-02-19 13:27:00 | \n",
" 718.0 | \n",
" Friday | \n",
" 2016-02-19 13:27:00 | \n",
" 0.0 | \n",
" inf | \n",
"
\n",
" \n",
" 4 | \n",
" 2016-02-19 13:31:00 | \n",
" 337.0 | \n",
" Friday | \n",
" 2016-02-19 13:36:00 | \n",
" 300.0 | \n",
" 1.123333 | \n",
"
\n",
" \n",
" 5 | \n",
" 2016-02-19 13:36:00 | \n",
" 332.0 | \n",
" Friday | \n",
" 2016-02-19 13:41:00 | \n",
" 300.0 | \n",
" 1.106667 | \n",
"
\n",
" \n",
" 6 | \n",
" 2016-02-19 13:41:00 | \n",
" 328.0 | \n",
" Friday | \n",
" 2016-02-19 13:46:00 | \n",
" 300.0 | \n",
" 1.093333 | \n",
"
\n",
" \n",
" 7 | \n",
" 2016-02-19 13:46:00 | \n",
" 307.0 | \n",
" Friday | \n",
" 2016-02-19 13:51:00 | \n",
" 300.0 | \n",
" 1.023333 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 827,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.head()"
]
},
{
"cell_type": "code",
"execution_count": 828,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" CO2 | \n",
" TimeDel | \n",
" CO2_over_TimeDiff | \n",
"
\n",
" \n",
" \n",
" \n",
" count | \n",
" 100984.000000 | \n",
" 100984.000000 | \n",
" 1.009840e+05 | \n",
"
\n",
" \n",
" mean | \n",
" 547.647548 | \n",
" 307.336608 | \n",
" inf | \n",
"
\n",
" \n",
" std | \n",
" 304.512740 | \n",
" 1369.027580 | \n",
" NaN | \n",
"
\n",
" \n",
" min | \n",
" 201.000000 | \n",
" -3300.000000 | \n",
" -3.500000e-01 | \n",
"
\n",
" \n",
" 25% | \n",
" 362.000000 | \n",
" 300.000000 | \n",
" 1.200000e+00 | \n",
"
\n",
" \n",
" 50% | \n",
" 438.000000 | \n",
" 300.000000 | \n",
" 1.453333e+00 | \n",
"
\n",
" \n",
" 75% | \n",
" 615.000000 | \n",
" 300.000000 | \n",
" 2.040000e+00 | \n",
"
\n",
" \n",
" max | \n",
" 2777.000000 | \n",
" 424320.000000 | \n",
" inf | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 828,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.describe()"
]
},
{
"cell_type": "code",
"execution_count": 829,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"2 inf\n",
"4 1.123333\n",
"5 1.106667\n",
"6 1.093333\n",
"7 1.023333\n",
"Name: CO2_over_TimeDiff, dtype: float64"
]
},
"execution_count": 829,
"metadata": {
},
"output_type": "execute_result"
}
],
"source": [
"df3.CO2_over_TimeDiff.head()"
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {
"collapsed": false
},
"outputs": [
],
"source": [
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (Anaconda)",
"language": "python",
"name": "anaconda3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.4"
}
},
"nbformat": 4,
"nbformat_minor": 0
}