forked from pygeode/pygeode.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdataset.html
More file actions
343 lines (319 loc) · 17.3 KB
/
dataset.html
File metadata and controls
343 lines (319 loc) · 17.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Dataset overview — PyGeode 1.0 alpha documentation</title>
<link rel="stylesheet" href="_static/pygtheme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.0 alpha',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<link rel="top" title="PyGeode 1.0 alpha documentation" href="index.html" />
<link rel="up" title="Reference" href="reference.html" />
<link rel="next" title="Plot module" href="plot.html" />
<link rel="prev" title="Time axes objects reference" href="timeaxes.html" />
<link href="http://fonts.googleapis.com/css?family=Ubuntu:300,300italic,regular,italic,500,500italic,bold,bolditalic" rel="stylesheet" type="text/css">
<link href='http://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700' rel='stylesheet' type='text/css'>
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="plot.html" title="Plot module"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="timeaxes.html" title="Time axes objects reference"
accesskey="P">previous</a> |</li>
<li><a href="index.html">PyGeode 1.0 alpha documentation</a> »</li>
<li><a href="reference.html" accesskey="U">Reference</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<div class="section" id="dataset-overview">
<h1>Dataset overview<a class="headerlink" href="#dataset-overview" title="Permalink to this headline">¶</a></h1>
<p>Essentially, a Dataset is a collection of variables which are related to each
other in some way. For example, when you load a file into PyGeode, a single
Dataset is created, containing all variables from that file. In most cases,
you won’t be using Datasets directly in your work. Instead, you’ll probably
be picking out the variables you need, and discarding the Dataset structure.</p>
<p>Here’s an example of a Dataset, with a single variable:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="kn">from</span> <span class="nn">pygeode.tutorial</span> <span class="kn">import</span> <span class="n">t1</span>
<span class="gp">>>> </span><span class="k">print</span> <span class="n">t1</span>
<span class="go"><Dataset>:</span>
<span class="go">Vars:</span>
<span class="go"> Temp (lat,lon) (32,64)</span>
<span class="go">Axes:</span>
<span class="go"> lat <Lat> : 85 S to 85 N (32 values)</span>
<span class="go"> lon <Lon> : 0 E to 354 E (64 values)</span>
<span class="go">Global Attributes:</span>
<span class="go"> {'history': 'Synthetic Temperature data generated by pygeode'}</span>
</pre></div>
</div>
<p>This particular Dataset has a single variable inside (named <tt class="docutils literal"><span class="pre">Temp</span></tt>),
defined over latitude and longitude. We can reference a particular
<a class="reference internal" href="var.html#pygeode.Var" title="pygeode.Var"><tt class="xref py py-class docutils literal"><span class="pre">Var</span></tt></a> object using a dot (<tt class="docutils literal"><span class="pre">.</span></tt>), treating it as a <em>member</em> of the
Dataset:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="n">x</span> <span class="o">=</span> <span class="n">t1</span><span class="o">.</span><span class="n">Temp</span>
<span class="gp">>>> </span><span class="k">print</span> <span class="n">x</span>
<span class="go"><Var 'Temp'>:</span>
<span class="go"> Shape: (lat,lon) (32,64)</span>
<span class="go"> Axes:</span>
<span class="go"> lat <Lat> : 85 S to 85 N (32 values)</span>
<span class="go"> lon <Lon> : 0 E to 354 E (64 values)</span>
<span class="go"> Attributes:</span>
<span class="go"> {}</span>
<span class="go"> Type: Add_Var (dtype="float64")</span>
</pre></div>
</div>
<dl class="class">
<dt id="pygeode.Dataset">
<em class="property">class </em><tt class="descclassname">pygeode.</tt><tt class="descname">Dataset</tt><a class="headerlink" href="#pygeode.Dataset" title="Permalink to this definition">¶</a></dt>
<dd><p class="rubric">Attributes</p>
<table border="1" class="longtable docutils">
<colgroup>
<col width="10%" />
<col width="90%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td><a class="reference internal" href="#pygeode.Dataset.vars" title="pygeode.Dataset.vars"><tt class="xref py py-obj docutils literal"><span class="pre">Dataset.vars</span></tt></a></td>
<td></td>
</tr>
<tr class="row-even"><td><tt class="xref py py-obj docutils literal"><span class="pre">Dataset.vardict</span></tt></td>
<td></td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#pygeode.Dataset.axes" title="pygeode.Dataset.axes"><tt class="xref py py-obj docutils literal"><span class="pre">Dataset.axes</span></tt></a></td>
<td></td>
</tr>
</tbody>
</table>
<p class="rubric">Methods</p>
<table border="1" class="longtable docutils">
<colgroup>
<col width="10%" />
<col width="90%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td><a class="reference internal" href="#pygeode.Dataset.__init__" title="pygeode.Dataset.__init__"><tt class="xref py py-obj docutils literal"><span class="pre">Dataset.__init__</span></tt></a>(vars[, atts, print_warnings])</td>
<td></td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#pygeode.Dataset.add" title="pygeode.Dataset.add"><tt class="xref py py-obj docutils literal"><span class="pre">Dataset.add</span></tt></a>(*vars)</td>
<td></td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#pygeode.Dataset.copy" title="pygeode.Dataset.copy"><tt class="xref py py-obj docutils literal"><span class="pre">Dataset.copy</span></tt></a>()</td>
<td></td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#pygeode.Dataset.map" title="pygeode.Dataset.map"><tt class="xref py py-obj docutils literal"><span class="pre">Dataset.map</span></tt></a>(f, *args, **kwargs)</td>
<td></td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#pygeode.Dataset.remove" title="pygeode.Dataset.remove"><tt class="xref py py-obj docutils literal"><span class="pre">Dataset.remove</span></tt></a>(*varnames)</td>
<td></td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#pygeode.Dataset.rename_vars" title="pygeode.Dataset.rename_vars"><tt class="xref py py-obj docutils literal"><span class="pre">Dataset.rename_vars</span></tt></a>([vardict])</td>
<td></td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="#pygeode.Dataset.replace_vars" title="pygeode.Dataset.replace_vars"><tt class="xref py py-obj docutils literal"><span class="pre">Dataset.replace_vars</span></tt></a>([vardict])</td>
<td></td>
</tr>
</tbody>
</table>
</dd></dl>
<p class="rubric">Helper Functions</p>
<table border="1" class="longtable docutils">
<colgroup>
<col width="10%" />
<col width="90%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td><tt class="xref py py-obj docutils literal"><span class="pre">asdataset</span></tt></td>
<td></td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="#pygeode.dataset.concat" title="pygeode.dataset.concat"><tt class="xref py py-obj docutils literal"><span class="pre">concat</span></tt></a>(*datasets)</td>
<td></td>
</tr>
</tbody>
</table>
<dl class="attribute">
<dt id="pygeode.Dataset.vars">
<tt class="descclassname">Dataset.</tt><tt class="descname">vars</tt><a class="headerlink" href="#pygeode.Dataset.vars" title="Permalink to this definition">¶</a></dt>
<dd><p>A simple Python list containing all the variables of the Dataset.</p>
<p class="rubric">Examples</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="k">print</span> <span class="n">t1</span><span class="o">.</span><span class="n">vars</span>
<span class="go">[<Var 'Temp'>]</span>
</pre></div>
</div>
</dd></dl>
<dl class="attribute">
<dt id="pygeode.Dataset.axes">
<tt class="descclassname">Dataset.</tt><tt class="descname">axes</tt><a class="headerlink" href="#pygeode.Dataset.axes" title="Permalink to this definition">¶</a></dt>
<dd><p>A list of all the axes from all the Vars in the Dataset.</p>
<p class="rubric">Examples</p>
<p>Normally, we only see the axis <em>classes</em> when printing the list:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="k">print</span> <span class="n">t1</span><span class="o">.</span><span class="n">axes</span>
<span class="go"> [<Lat>, <Lon>]</span>
</pre></div>
</div>
<p>But, with a small list comprehension, we can get the names of these particular axes (not that it makes much difference in this dataset):</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="k">print</span> <span class="p">[</span><span class="n">a</span><span class="o">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">a</span> <span class="ow">in</span> <span class="n">t1</span><span class="o">.</span><span class="n">axes</span><span class="p">]</span>
<span class="go"> ['lat', 'lon']</span>
</pre></div>
</div>
</dd></dl>
<dl class="attribute">
<dt id="pygeode.Dataset.atts">
<tt class="descclassname">Dataset.</tt><tt class="descname">atts</tt><a class="headerlink" href="#pygeode.Dataset.atts" title="Permalink to this definition">¶</a></dt>
<dd><p>Any metadata associated with the data (sometimes referred to as <em>global attributes</em>).</p>
<p class="rubric">Examples</p>
<div class="highlight-python"><div class="highlight"><pre><span class="gp">>>> </span><span class="k">print</span> <span class="n">t1</span><span class="o">.</span><span class="n">atts</span>
<span class="go">{'history': 'Synthetic Temperature data generated by pygeode'}</span>
</pre></div>
</div>
</dd></dl>
<dl class="method">
<dt id="pygeode.Dataset.__init__">
<tt class="descclassname">Dataset.</tt><tt class="descname">__init__</tt><big>(</big><em>vars</em>, <em>atts={}</em>, <em>print_warnings=True</em><big>)</big><a class="headerlink" href="#pygeode.Dataset.__init__" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pygeode.Dataset.add">
<tt class="descclassname">Dataset.</tt><tt class="descname">add</tt><big>(</big><em>*vars</em><big>)</big><a class="headerlink" href="#pygeode.Dataset.add" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pygeode.Dataset.copy">
<tt class="descclassname">Dataset.</tt><tt class="descname">copy</tt><big>(</big><big>)</big><a class="headerlink" href="#pygeode.Dataset.copy" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pygeode.Dataset.map">
<tt class="descclassname">Dataset.</tt><tt class="descname">map</tt><big>(</big><em>f</em>, <em>*args</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#pygeode.Dataset.map" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pygeode.Dataset.remove">
<tt class="descclassname">Dataset.</tt><tt class="descname">remove</tt><big>(</big><em>*varnames</em><big>)</big><a class="headerlink" href="#pygeode.Dataset.remove" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pygeode.Dataset.rename_vars">
<tt class="descclassname">Dataset.</tt><tt class="descname">rename_vars</tt><big>(</big><em>vardict={}</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#pygeode.Dataset.rename_vars" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="pygeode.Dataset.replace_vars">
<tt class="descclassname">Dataset.</tt><tt class="descname">replace_vars</tt><big>(</big><em>vardict={}</em>, <em>**kwargs</em><big>)</big><a class="headerlink" href="#pygeode.Dataset.replace_vars" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="pygeode.dataset.asdataset">
<tt class="descclassname">pygeode.dataset.</tt><tt class="descname">asdataset</tt><big>(</big><em>vars</em>, <em>copy=False</em>, <em>print_warnings=True</em><big>)</big><a class="headerlink" href="#pygeode.dataset.asdataset" title="Permalink to this definition">¶</a></dt>
<dd><p>Tries to convert a collection of objects into a single dataset.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><p class="first"><strong>vars</strong> : collection</p>
<blockquote>
<div><p>The collection to convert. See Notes.</p>
</div></blockquote>
<p><strong>copy</strong> : boolean</p>
<p><strong>print_warnings</strong> : boolean</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"><strong>dataset</strong> : <tt class="xref py py-class docutils literal"><span class="pre">Dataset</span></tt></p>
</td>
</tr>
</tbody>
</table>
<p class="rubric">Notes</p>
<p>If <tt class="docutils literal"><span class="pre">vars</span></tt> is a single variable or list of variables, asdataset()
returns a Dataset wrapping them. If there are datasets present in the
list, it merges them into a single dataset.</p>
</dd></dl>
<dl class="function">
<dt id="pygeode.dataset.concat">
<tt class="descclassname">pygeode.dataset.</tt><tt class="descname">concat</tt><big>(</big><em>*datasets</em><big>)</big><a class="headerlink" href="#pygeode.dataset.concat" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<div class="section" id="creating-a-dataset">
<h2>Creating a Dataset<a class="headerlink" href="#creating-a-dataset" title="Permalink to this headline">¶</a></h2>
<p>TODO</p>
</div>
<div class="section" id="neat-tricks">
<h2>Neat tricks<a class="headerlink" href="#neat-tricks" title="Permalink to this headline">¶</a></h2>
<p>TODO</p>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h3><a href="index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Dataset overview</a><ul>
<li><a class="reference internal" href="#creating-a-dataset">Creating a Dataset</a></li>
<li><a class="reference internal" href="#neat-tricks">Neat tricks</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="timeaxes.html"
title="previous chapter">Time axes objects reference</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="plot.html"
title="next chapter">Plot module</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/dataset.txt"
rel="nofollow">Show Source</a></li>
</ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="plot.html" title="Plot module"
>next</a> |</li>
<li class="right" >
<a href="timeaxes.html" title="Time axes objects reference"
>previous</a> |</li>
<li><a href="index.html">PyGeode 1.0 alpha documentation</a> »</li>
<li><a href="reference.html" >Reference</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2013, Mike Neish, Peter Hitchcock.
Last updated on Sep 13, 2015.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
</div>
</body>
</html>