Skip to content

Commit da287b0

Browse files
committed
added tests file for panelnd in pandas/tests/test_panelnd.py
1 parent cb47484 commit da287b0

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed

pandas/tests/test_panelnd.py

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
from datetime import datetime
2+
import os
3+
import operator
4+
import unittest
5+
import nose
6+
7+
import numpy as np
8+
9+
from pandas.core import panelnd
10+
from pandas.core.panel import Panel
11+
import pandas.core.common as com
12+
from pandas.util import py3compat
13+
14+
from pandas.util.testing import (assert_panel_equal,
15+
assert_panel4d_equal,
16+
assert_frame_equal,
17+
assert_series_equal,
18+
assert_almost_equal)
19+
import pandas.util.testing as tm
20+
21+
class TestPanelnd(unittest.TestCase):
22+
23+
def setUp(self):
24+
pass
25+
26+
def test_4d_construction(self):
27+
28+
# create a 4D
29+
Panel4D = panelnd.create_nd_panel_factory(
30+
klass_name = 'Panel4D',
31+
axis_orders = ['labels','items','major_axis','minor_axis'],
32+
axis_slices = { 'items' : 'items', 'major_axis' : 'major_axis', 'minor_axis' : 'minor_axis' },
33+
slicer = Panel,
34+
axis_aliases = { 'major' : 'major_axis', 'minor' : 'minor_axis' },
35+
stat_axis = 2)
36+
37+
p4d = Panel4D(dict(L1 = tm.makePanel(), L2 = tm.makePanel()))
38+
39+
def test_5d_construction(self):
40+
41+
# create a 4D
42+
Panel4D = panelnd.create_nd_panel_factory(
43+
klass_name = 'Panel4D',
44+
axis_orders = ['labels1','items','major_axis','minor_axis'],
45+
axis_slices = { 'items' : 'items', 'major_axis' : 'major_axis', 'minor_axis' : 'minor_axis' },
46+
slicer = Panel,
47+
axis_aliases = { 'major' : 'major_axis', 'minor' : 'minor_axis' },
48+
stat_axis = 2)
49+
50+
p4d = Panel4D(dict(L1 = tm.makePanel(), L2 = tm.makePanel()))
51+
52+
# create a 5D
53+
Panel5D = panelnd.create_nd_panel_factory(
54+
klass_name = 'Panel5D',
55+
axis_orders = [ 'cool1', 'labels1','items','major_axis','minor_axis'],
56+
axis_slices = { 'labels1' : 'labels1', 'items' : 'items', 'major_axis' : 'major_axis', 'minor_axis' : 'minor_axis' },
57+
slicer = Panel4D,
58+
axis_aliases = { 'major' : 'major_axis', 'minor' : 'minor_axis' },
59+
stat_axis = 2)
60+
61+
p5d = Panel5D(dict(C1 = p4d))
62+
63+
# slice back to 4d
64+
results = p5d.ix['C1',:,:,0:3,:]
65+
expected = p4d.ix[:,:,0:3,:]
66+
assert_panel_equal(results['L1'], expected['L1'])
67+
68+
# test a transpose
69+
#results = p5d.transpose(1,2,3,4,0)
70+
#expected =
71+
72+
if __name__ == '__main__':
73+
import nose
74+
nose.runmodule(argv=[__file__,'-vvs','-x','--pdb', '--pdb-failure'],
75+
exit=False)

0 commit comments

Comments
 (0)