Time Zone Conversion
Data will not always be in the right format. Most time data it is stored in a database under the UTC timezone. Therefore after exporting the information, you might need to change the time to a local or different times zone for some descriptive analysis.
Import Preliminaries¶
%matplotlib inline
%config InlineBackend.figure_format='retina'
# Import modules
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import matplotlib as mpl
import numpy as np
import pandas as pd
import pytz
import sklearn
import seaborn as sns
import warnings
# Import Model Selection
from sklearn.model_selection import train_test_split, cross_val_score
# Set pandas options
pd.set_option('max_columns',1000)
pd.set_option('max_rows',30)
pd.set_option('display.float_format', lambda x: '%.3f' % x)
# Set plotting options
mpl.rcParams['figure.figsize'] = (8.0, 7.0)
# Set warning options
warnings.filterwarnings('ignore');
Import Data¶
# Create a dataset with time from a couple of different cities
date_range = pd.date_range(start='1/1/2018', periods=2, tz='America/Los_Angeles')
date_range = date_range.append(pd.date_range(start='1/1/2018', periods=2, tz='America/Chicago'))
date_range = date_range.append(pd.date_range(start='1/1/2018', periods=2, tz='America/Costa_Rica'))
date_range = date_range.append(pd.date_range(start='1/1/2018', periods=2, tz='Asia/Tokyo'))
date_range = date_range.append(pd.date_range(start='1/1/2018', periods=2, tz='Asia/Dubai'))
date_range
# Create a dataframe with the timezone informatino
timezones = pd.DataFrame(data={'date_time':date_range,
'value': np.random.choice(np.arange(0,20), size=10, replace=True)})
# View sample of the dataframe
timezones
Timezone Modification¶
# Convert all time information into Pacific Standard Time
timezones.date_time = timezones.date_time.apply(lambda x: x.tz_convert('America/Los_Angeles'))
timezones
# Strip timezone information from date_time feature
timezones.date_time = timezones.date_time.apply(lambda x: x.replace(tzinfo=None))
timezones
# Add timezone information back to date_time feature
pst_tz = pytz.timezone('America/Los_Angeles')
timezones.date_time = timezones.date_time.apply(lambda x: pst_tz.localize(x))
timezones
Author: Kavi Sekhon