Created
February 26, 2018 11:13
-
-
Save kavvkon/47ad3d1b03b5ac963c25f8f865fd41e0 to your computer and use it in GitHub Desktop.
HDF writing and reading examples
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "import numpy as np\n", | |
| "import pandas as pd" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>A</th>\n", | |
| " <th>B</th>\n", | |
| " <th>C</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>2000-01-01</th>\n", | |
| " <td>0.952466</td>\n", | |
| " <td>0.630784</td>\n", | |
| " <td>0.985323</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2000-01-02</th>\n", | |
| " <td>0.198525</td>\n", | |
| " <td>0.526136</td>\n", | |
| " <td>0.086640</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2000-01-03</th>\n", | |
| " <td>0.189863</td>\n", | |
| " <td>0.559567</td>\n", | |
| " <td>0.771268</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2000-01-04</th>\n", | |
| " <td>0.236881</td>\n", | |
| " <td>0.203953</td>\n", | |
| " <td>0.509006</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2000-01-05</th>\n", | |
| " <td>0.324636</td>\n", | |
| " <td>0.143960</td>\n", | |
| " <td>0.103177</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " A B C\n", | |
| "2000-01-01 0.952466 0.630784 0.985323\n", | |
| "2000-01-02 0.198525 0.526136 0.086640\n", | |
| "2000-01-03 0.189863 0.559567 0.771268\n", | |
| "2000-01-04 0.236881 0.203953 0.509006\n", | |
| "2000-01-05 0.324636 0.143960 0.103177" | |
| ] | |
| }, | |
| "execution_count": 2, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "index=pd.DatetimeIndex(start='01/01/2000',end='01/05/2000',freq='d')\n", | |
| "a = np.random.rand(5,3)\n", | |
| "\n", | |
| "df = pd.DataFrame(a, columns=('A','B','C'),index=index)\n", | |
| "df" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "http://pandas.pydata.org/pandas-docs/stable/io.html#io-hdf5\n", | |
| "\n", | |
| "There are two ways to store data: \n", | |
| "* fixed format is not appendable not queryable but pretty fast\n", | |
| "* table format is shaped like a dataframe, you can append and query, you can read it from a HDF viewer but is slower" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "<class 'pandas.io.pytables.HDFStore'>\n", | |
| "File path: foo.h5\n", | |
| "/test1 frame_table (typ->appendable,nrows->5,ncols->3,indexers->[index],dc->[A,B,C])\n", | |
| "/test2 frame (shape->[5,3]) \n", | |
| "/test3 frame (shape->[5,3]) \n", | |
| "/test4 frame_table (typ->appendable,nrows->5,ncols->3,indexers->[index]) \n", | |
| "/test5 frame_table (typ->appendable,nrows->5,ncols->3,indexers->[index],dc->[A,B,C])\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "store = pd.HDFStore('foo.h5')\n", | |
| "store.append('test1', df, data_columns = df.columns)\n", | |
| "store.put('test2', df, data_columns = df.columns)\n", | |
| "df.to_hdf(store, 'test3') # default format='fixed'\n", | |
| "df.to_hdf(store, 'test4', format='table') #dont use as it merges all data_columns\n", | |
| "df.to_hdf(store, 'test5', format='table', data_columns=True)\n", | |
| "\n", | |
| "print store\n", | |
| "store.close()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>A</th>\n", | |
| " <th>B</th>\n", | |
| " <th>C</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>2000-01-01</th>\n", | |
| " <td>0.952466</td>\n", | |
| " <td>0.630784</td>\n", | |
| " <td>0.985323</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2000-01-02</th>\n", | |
| " <td>0.198525</td>\n", | |
| " <td>0.526136</td>\n", | |
| " <td>0.086640</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2000-01-03</th>\n", | |
| " <td>0.189863</td>\n", | |
| " <td>0.559567</td>\n", | |
| " <td>0.771268</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2000-01-04</th>\n", | |
| " <td>0.236881</td>\n", | |
| " <td>0.203953</td>\n", | |
| " <td>0.509006</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2000-01-05</th>\n", | |
| " <td>0.324636</td>\n", | |
| " <td>0.143960</td>\n", | |
| " <td>0.103177</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " A B C\n", | |
| "2000-01-01 0.952466 0.630784 0.985323\n", | |
| "2000-01-02 0.198525 0.526136 0.086640\n", | |
| "2000-01-03 0.189863 0.559567 0.771268\n", | |
| "2000-01-04 0.236881 0.203953 0.509006\n", | |
| "2000-01-05 0.324636 0.143960 0.103177" | |
| ] | |
| }, | |
| "execution_count": 4, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df5 = pd.read_hdf('foo.h5', key='test5')\n", | |
| "df5" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>A</th>\n", | |
| " <th>B</th>\n", | |
| " <th>C</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>2000-01-01</th>\n", | |
| " <td>0.952466</td>\n", | |
| " <td>0.630784</td>\n", | |
| " <td>0.985323</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2000-01-02</th>\n", | |
| " <td>0.198525</td>\n", | |
| " <td>0.526136</td>\n", | |
| " <td>0.086640</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2000-01-03</th>\n", | |
| " <td>0.189863</td>\n", | |
| " <td>0.559567</td>\n", | |
| " <td>0.771268</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2000-01-04</th>\n", | |
| " <td>0.236881</td>\n", | |
| " <td>0.203953</td>\n", | |
| " <td>0.509006</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2000-01-05</th>\n", | |
| " <td>0.324636</td>\n", | |
| " <td>0.143960</td>\n", | |
| " <td>0.103177</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " A B C\n", | |
| "2000-01-01 0.952466 0.630784 0.985323\n", | |
| "2000-01-02 0.198525 0.526136 0.086640\n", | |
| "2000-01-03 0.189863 0.559567 0.771268\n", | |
| "2000-01-04 0.236881 0.203953 0.509006\n", | |
| "2000-01-05 0.324636 0.143960 0.103177" | |
| ] | |
| }, | |
| "execution_count": 5, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df2 = pd.read_hdf('foo.h5', key='test2')\n", | |
| "df2" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>A</th>\n", | |
| " <th>B</th>\n", | |
| " <th>C</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>2000-01-01</th>\n", | |
| " <td>0.952466</td>\n", | |
| " <td>0.630784</td>\n", | |
| " <td>0.985323</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " A B C\n", | |
| "2000-01-01 0.952466 0.630784 0.985323" | |
| ] | |
| }, | |
| "execution_count": 6, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df5 = pd.read_hdf('foo.h5', key='test5', where=['A>0.5'])\n", | |
| "df5" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 7, | |
| "metadata": { | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "cannot pass a where specification when reading from a Fixed format store. this store must be selected in its entirety\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "#raises error as you cannot query fixed format\n", | |
| "\n", | |
| "try:\n", | |
| " df2 = pd.read_hdf('foo.h5', key='test2', where=['A>0.5'])\n", | |
| "except Exception as e:\n", | |
| " print e" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "`h5py` library is more pure low level store/write library" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 8, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "<HDF5 file \"foo.h5\" (mode r+)>\n", | |
| "[<HDF5 group \"/test1\" (2 members)>, <HDF5 group \"/test2\" (4 members)>, <HDF5 group \"/test3\" (4 members)>, <HDF5 group \"/test4\" (2 members)>, <HDF5 group \"/test5\" (2 members)>]\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "import h5py\n", | |
| "f = h5py.File(\"foo.h5\")\n", | |
| "print f\n", | |
| "print f.values()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 9, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "f['test6'] = a\n", | |
| "f.attrs['test6'] = 'cool array' #store attributes" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 10, | |
| "metadata": { | |
| "scrolled": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "[[ 0.95246551 0.63078389 0.98532322]\n", | |
| " [ 0.19852491 0.526136 0.08663984]\n", | |
| " [ 0.18986281 0.55956696 0.77126847]\n", | |
| " [ 0.23688076 0.20395321 0.50900627]\n", | |
| " [ 0.32463634 0.14395971 0.10317721]]\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "print f['test6'][...]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 11, | |
| "metadata": { | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>0</th>\n", | |
| " <th>1</th>\n", | |
| " <th>2</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>2000-01-01</th>\n", | |
| " <td>0.952466</td>\n", | |
| " <td>0.630784</td>\n", | |
| " <td>0.985323</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2000-01-02</th>\n", | |
| " <td>0.198525</td>\n", | |
| " <td>0.526136</td>\n", | |
| " <td>0.086640</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2000-01-03</th>\n", | |
| " <td>0.189863</td>\n", | |
| " <td>0.559567</td>\n", | |
| " <td>0.771268</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2000-01-04</th>\n", | |
| " <td>0.236881</td>\n", | |
| " <td>0.203953</td>\n", | |
| " <td>0.509006</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2000-01-05</th>\n", | |
| " <td>0.324636</td>\n", | |
| " <td>0.143960</td>\n", | |
| " <td>0.103177</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " 0 1 2\n", | |
| "2000-01-01 0.952466 0.630784 0.985323\n", | |
| "2000-01-02 0.198525 0.526136 0.086640\n", | |
| "2000-01-03 0.189863 0.559567 0.771268\n", | |
| "2000-01-04 0.236881 0.203953 0.509006\n", | |
| "2000-01-05 0.324636 0.143960 0.103177" | |
| ] | |
| }, | |
| "execution_count": 11, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "pd.DataFrame(f['test6'][...], index=index)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 12, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "array([ 0.95246551, 0.63078389, 0.98532322])" | |
| ] | |
| }, | |
| "execution_count": 12, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "f['test6'][0]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 13, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "0.95246550876814351" | |
| ] | |
| }, | |
| "execution_count": 13, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "f['test6'][0,0]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 14, | |
| "metadata": { | |
| "scrolled": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "test1\n", | |
| "test2\n", | |
| "test3\n", | |
| "test4\n", | |
| "test5\n", | |
| "test6\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "for name in f:\n", | |
| " print name" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 15, | |
| "metadata": { | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "[(u'axis0', <HDF5 dataset \"axis0\": shape (3,), type \"|S1\">),\n", | |
| " (u'axis1', <HDF5 dataset \"axis1\": shape (5,), type \"<i8\">),\n", | |
| " (u'block0_items', <HDF5 dataset \"block0_items\": shape (3,), type \"|S1\">),\n", | |
| " (u'block0_values', <HDF5 dataset \"block0_values\": shape (5, 3), type \"<f8\">)]" | |
| ] | |
| }, | |
| "execution_count": 15, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "#cannot really parse data stored with pd.to_hdf method as they are stored in a custom format with a lot of metadata\n", | |
| "f['test2'].items()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 16, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "f.close()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 17, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "f = h5py.File(\"foo.h5\")" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 18, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "f['test7'] = a" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 19, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "f['test7'].dims[0].label = 'time'\n", | |
| "f['test7'].dims[1].label = 'y'" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 20, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "array([946684800000000000, 946771200000000000, 946857600000000000,\n", | |
| " 946944000000000000, 947030400000000000], dtype=int64)" | |
| ] | |
| }, | |
| "execution_count": 20, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "index.values.astype('<i8')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 21, | |
| "metadata": { | |
| "scrolled": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "f['index7'] = index.values.astype('<i8')" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 22, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "f['test7'].dims.create_scale(f['index7'])\n", | |
| "f['test7'].dims[0].attach_scale(f['index7'])" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 23, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "[u'time', u'y']" | |
| ] | |
| }, | |
| "execution_count": 23, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "[dim.label for dim in f['test7'].dims]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 24, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "[u'']" | |
| ] | |
| }, | |
| "execution_count": 24, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "f['test7'].dims[0].keys()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### 3d dimension scales \n", | |
| "http://docs.h5py.org/en/latest/high/dims.html" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 25, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "f['test8'] = np.ones((4, 3, 2), 'f')\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 26, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "f['test8'].dims[0].label = 'z'\n", | |
| "f['test8'].dims[2].label = 'x'\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 27, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "f['x1'] = [1, 2]\n", | |
| "f['x2'] = [1, 1.1]\n", | |
| "f['y1'] = [0, 1, 2]\n", | |
| "f['z1'] = [0, 1, 4, 9]\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 28, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "f['test8'].dims.create_scale(f['x1'])\n", | |
| "f['test8'].dims.create_scale(f['x2'], 'x2 name')\n", | |
| "f['test8'].dims.create_scale(f['y1'], 'y1 name')\n", | |
| "f['test8'].dims.create_scale(f['z1'], 'z1 name')\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 29, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "f['test8'].dims[0].attach_scale(f['z1'])\n", | |
| "f['test8'].dims[1].attach_scale(f['y1'])\n", | |
| "f['test8'].dims[2].attach_scale(f['x1'])\n", | |
| "f['test8'].dims[2].attach_scale(f['x2'])\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 30, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "[u'z', u'', u'x']" | |
| ] | |
| }, | |
| "execution_count": 30, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "[dim.label for dim in f['test8'].dims]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 31, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "[u'', u'x2 name']" | |
| ] | |
| }, | |
| "execution_count": 31, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "f['test8'].dims[2].keys()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 32, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<HDF5 dataset \"x2\": shape (2,), type \"<f8\">" | |
| ] | |
| }, | |
| "execution_count": 32, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "f['test8'].dims[2]['x2 name']" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 33, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "True" | |
| ] | |
| }, | |
| "execution_count": 33, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "f['test8'].dims[2]['x2 name'] == f['x2']" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 34, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "f.close()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [] | |
| } | |
| ], | |
| "metadata": { | |
| "anaconda-cloud": {}, | |
| "kernelspec": { | |
| "display_name": "Python 2", | |
| "language": "python", | |
| "name": "python2" | |
| }, | |
| "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.14" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 1 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment