Notebook Snippets

As you’re building, we know that there are some common things you’ll need to do in a notebook (like save to your output directory). Below, we have provided some helpful code snippets that you may use in your notebooks.

If you would like to add one to the list, let us know in the WEGnology Forums.

Loading Input Data

Reading input files from the INPUT_DIR directory.

import os
import pandas as pd

# get the file path to dataset.csv
input_dir = os.path.join(os.environ['INPUT_DIR'], 'dataset.csv')
# load the csv as a pandas dataframe
dataset = pd.read_csv(input_dir)

Saving to Output Directory

Saving output files to the OUTPUT_DIR directory.

import os

myData = # dataframe to export

myChart = # create chart to export

# save a csv
myData.to_csv(os.path.join(os.environ['OUTPUT_DIR'], 'myData.csv'))

# save a file
myChart.get_figure().savefig(os.path.join(os.environ['OUTPUT_DIR'], 'myChart.png'))

Making your Timestamp a Pandas Datetime Dataframe

After turning your input into a pandas dataframe, you may want the Timestamp field to be an actual datetime. Here is an example of how to do that:

# read data
dataset = pd.read_csv(os.path.join(os.environ['INPUT_DIR'], 'dataset.csv'))

# convert to datetime
dataset['Timestamp'] = pd.to_datetime(dataset['Timestamp'], unit='ms')

# Set the timestamp as the index (optional)
dataset.set_index('Timestamp', inplace=True)

Setting Notebook Environment Variables to Current Directory

When developing locally, you may just want to set your inputs and outputs to your present working directory. Here is an easy way to accomplish that:

INPUT_DIR=$(pwd) OUTPUT_DIR=$(pwd) jupyter notebook

Accessing Notebook Context

When passing in Notebook Context, you may want to retrieve particular properties from it. Here is an example of retrieving a value at context.data.device:

import os
import json

context_path = os.path.join(os.environ['INPUT_DIR'], "context.json")

context = json.load(context_path)
device = context['data']['device']

Was this page helpful?


Still looking for help? You can also search the WEGnology Forums or submit your question there.