@@ -268,20 +268,20 @@ def restore_display_hook():
268
268
if __name__ == "__main__" :
269
269
"""Array editor test"""
270
270
import numpy as np
271
+ from larray import (Session , Axis , LArray , ndtest , ndrange , zeros , from_lists , union ,
272
+ sin , cos , radians , maximum , sqrt )
271
273
272
- lipro = la . Axis (['P%02d' % i for i in range (1 , 16 )], 'lipro' )
273
- age = la . Axis ('age=0..115' )
274
- sex = la . Axis ('sex=M,F' )
274
+ lipro = Axis (['P%02d' % i for i in range (1 , 16 )], 'lipro' )
275
+ age = Axis ('age=0..115' )
276
+ sex = Axis ('sex=M,F' )
275
277
276
- vla = 'A11,A12,A13,A23,A24,A31,A32,A33,A34,A35,A36,A37,A38,A41,A42,' \
277
- 'A43,A44,A45,A46,A71,A72,A73'
278
- wal = 'A25,A51,A52,A53,A54,A55,A56,A57,A61,A62,A63,A64,A65,A81,A82,' \
279
- 'A83,A84,A85,A91,A92,A93'
278
+ vla = 'A11,A12,A13,A23,A24,A31,A32,A33,A34,A35,A36,A37,A38,A41,A42,A43,A44,A45,A46,A71,A72,A73'
279
+ wal = 'A25,A51,A52,A53,A54,A55,A56,A57,A61,A62,A63,A64,A65,A81,A82,A83,A84,A85,A91,A92,A93'
280
280
bru = 'A21'
281
281
# list of strings
282
- belgium = la . union (vla , wal , bru )
282
+ belgium = union (vla , wal , bru )
283
283
284
- geo = la . Axis (belgium , 'geo' )
284
+ geo = Axis (belgium , 'geo' )
285
285
286
286
# data1 = np.arange(30).reshape(2, 15)
287
287
# arr1 = la.LArray(data1, axes=(sex, lipro))
@@ -295,8 +295,8 @@ def restore_display_hook():
295
295
# data2 = np.random.randint(10, size=(116, 44, 2, 15)) / 100 + 1567
296
296
# data2 = np.random.normal(51000000, 10000000, size=(116, 44, 2, 15))
297
297
data2 = np .random .normal (0 , 1 , size = (116 , 44 , 2 , 15 ))
298
- arr2 = la . LArray (data2 , axes = (age , geo , sex , lipro ))
299
- # arr2 = la. ndrange([100, 100, 100, 100, 5])
298
+ arr2 = LArray (data2 , axes = (age , geo , sex , lipro ))
299
+ # arr2 = ndrange([100, 100, 100, 100, 5])
300
300
# arr2 = arr2['F', 'A11', 1]
301
301
302
302
# view(arr2[0, 'A11', 'F', 'P01'])
@@ -314,59 +314,87 @@ def restore_display_hook():
314
314
# print(arr2[0, 'A11', :, 'P01'])
315
315
316
316
# data2 = np.random.normal(0, 10.0, size=(5000, 20))
317
- # arr2 = la.LArray(data2,
318
- # axes=(la.Axis(list(range(5000)), 'd0'),
319
- # la.Axis(list(range(20)), 'd1')))
317
+ # arr2 = LArray(data2, axes=(Axis(list(range(5000)), 'd0'),
318
+ # Axis(list(range(20)), 'd1')))
320
319
# edit(arr2)
321
320
322
321
# view(['a', 'bb', 5599])
323
322
# view(np.arange(12).reshape(2, 3, 2))
324
323
# view([])
325
324
326
325
data3 = np .random .normal (0 , 1 , size = (2 , 15 ))
327
- arr3 = la . ndrange ((30 , sex ))
326
+ arr3 = ndrange ((30 , sex ))
328
327
# data4 = np.random.normal(0, 1, size=(2, 15))
329
- # arr4 = la. LArray(data4, axes=(sex, lipro))
328
+ # arr4 = LArray(data4, axes=(sex, lipro))
330
329
331
330
# arr4 = arr3.copy()
332
331
# arr4['F'] /= 2
333
- arr4 = arr3 .min (la . x . sex )
334
- arr5 = arr3 .max (la . x . sex )
335
- arr6 = arr3 .mean (la . x . sex )
332
+ arr4 = arr3 .min (sex )
333
+ arr5 = arr3 .max (sex )
334
+ arr6 = arr3 .mean (sex )
336
335
337
336
# test isssue #35
338
- arr7 = la .from_lists ([['a' , 1 , 2 , 3 ],
339
- [ '' , 1664780726569649730 , - 9196963249083393206 , - 7664327348053294350 ]])
337
+ arr7 = from_lists ([['a' , 1 , 2 , 3 ],
338
+ [ '' , 1664780726569649730 , - 9196963249083393206 , - 7664327348053294350 ]])
339
+
340
+ def make_circle (width = 20 , radius = 9 ):
341
+ x , y = Axis (width , 'x' ), Axis (width , 'y' )
342
+ center = (width - 1 ) / 2
343
+ return maximum (radius - sqrt ((x - center ) ** 2 + (y - center ) ** 2 ), 0 )
344
+
345
+ def make_sphere (width = 20 , radius = 9 ):
346
+ x , y , z = Axis (width , 'x' ), Axis (width , 'y' ), Axis (width , 'z' )
347
+ center = (width - 1 ) / 2
348
+ return maximum (radius - sqrt ((x - center ) ** 2 + (y - center ) ** 2 + (z - center ) ** 2 ), 0 )
349
+
350
+ def make_demo (width = 20 , ball_radius = 5 , path_radius = 5 , steps = 30 ):
351
+ x , y = Axis (width , 'x' ), Axis (width , 'y' )
352
+ t = Axis (steps , 't' )
353
+ center = (width - 1 ) / 2
354
+ ball_center_x = sin (radians (t * 360 / steps )) * path_radius + center
355
+ ball_center_y = cos (radians (t * 360 / steps )) * path_radius + center
356
+ return maximum (ball_radius - sqrt ((x - ball_center_x ) ** 2 + (y - ball_center_y ) ** 2 ), 0 ).transpose (x , y )
357
+
358
+ demo = make_demo (9 , 2.5 , 1.5 )
359
+ sphere = make_sphere (9 , 4 )
360
+ extreme_array = LArray ([- np .inf , - 1 , 0 , np .nan , 1 , np .inf ])
361
+ scalar = LArray (0 )
362
+ arr_empty = LArray ([])
363
+ arr_obj = ndtest ((2 , 3 )).astype (object )
364
+ arr_str = ndtest ((2 , 3 )).astype (str )
365
+ big = ndtest ((1000 , 1000 , 500 ))
340
366
341
367
# test autoresizing
342
- long_labels = la . zeros ('a=a_long_label,another_long_label; b=this_is_a_label,this_is_another_one' )
343
- long_axes_names = la . zeros ('first_axis=a0,a1; second_axis=b0,b1' )
368
+ long_labels = zeros ('a=a_long_label,another_long_label; b=this_is_a_label,this_is_another_one' )
369
+ long_axes_names = zeros ('first_axis=a0,a1; second_axis=b0,b1' )
344
370
345
371
# compare(arr3, arr4, arr5, arr6)
346
372
347
- # view(la. stack((arr3, arr4), la. Axis('arrays=arr3,arr4')))
348
- ses = la . Session (arr2 = arr2 , arr3 = arr3 , arr4 = arr4 , arr5 = arr5 , arr6 = arr6 , arr7 = arr7 , long_labels = long_labels ,
349
- long_axes_names = long_axes_names , data2 = data2 , data3 = data3 )
373
+ # view(stack((arr3, arr4), Axis('arrays=arr3,arr4')))
374
+ # ses = Session(arr2=arr2, arr3=arr3, arr4=arr4, arr5=arr5, arr6=arr6, arr7=arr7, long_labels=long_labels,
375
+ # long_axes_names=long_axes_names, data2=data2, data3=data3)
350
376
351
377
# from larray.tests.common import abspath
352
378
# file = abspath('test_session.xlsx')
353
379
# ses.save(file)
354
380
355
381
# import cProfile as profile
356
- # profile.runctx('edit(la. Session(arr2=arr2))', vars(), {},
382
+ # profile.runctx('edit(Session(arr2=arr2))', vars(), {},
357
383
# 'c:\\tmp\\edit.profile')
358
-
359
- # edit(ses)
384
+ edit ()
360
385
# edit(ses)
361
386
# edit(file)
362
387
# edit('fake_path')
363
388
# edit(REOPEN_LAST_FILE)
364
389
365
- edit (ses )
366
- # compare(la.Session(arr2=arr2, arr3=arr3), la.Session(arr2=arr2 + 1.0, arr3=arr3 + 1.0))
367
- # compare(arr3, arr3 + la.ndrange(arr3.axes))
390
+ # edit(arr2)
391
+ # compare(arr3, arr3 + ndrange(arr3.axes))
392
+ # compare(Session(arr4=arr4, arr3=arr3),
393
+ # Session(arr4=arr4 + 1.0, arr3=arr3 * 2.0))
394
+ # compare(Session(arr2=arr2, arr3=arr3),
395
+ # Session(arr2=arr2 + 1.0, arr3=arr3 * 2.0))
368
396
369
- # s = la. local_arrays()
397
+ # s = local_arrays()
370
398
# view(s)
371
399
# print('HDF')
372
400
# s.save('x.h5')
@@ -382,7 +410,3 @@ def restore_display_hook():
382
410
# edit('x_csv')
383
411
384
412
# compare(arr3, arr4, arr5, arr6)
385
-
386
- # arr3 = la.ndrange((1000, 1000, 500))
387
- # print(arr3.nbytes * 1e-9 + 'Gb')
388
- # edit(arr3, minvalue=-99, maxvalue=25.123456)
0 commit comments