File: t_NumericalSample_slice.py

package info (click to toggle)
openturns 1.7-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 38,588 kB
  • ctags: 26,495
  • sloc: cpp: 144,032; python: 26,855; ansic: 7,868; sh: 419; makefile: 263; yacc: 123; lex: 44
file content (92 lines) | stat: -rwxr-xr-x 2,401 bytes parent folder | download
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
#! /usr/bin/env python

from __future__ import print_function
import openturns as ot


# We create an empty sample
N = 10
d = 5
sample = ot.NumericalSample(N, d)
print('sample[-1]', sample[-1])
sample[-1] = [-1.] * d
print('sample[-1]=-1', sample[-1])

# We populate the empty sample with numerous data
for i in range(N):
    for j in range(d):
        sample[i, j] = 100. * (j + 1) + i
description = []
for j in range(d):
    description.append('V' + str(j + 1))
sample.setDescription(description)
print('sample=', str(sample))


# case #0 [slice]
print('rslice[:]=', sample[:])
print('rslice[2:4]=', sample[2:4])
print('rslice[1:8:2]=', sample[1:8:2])

# case #1 [slice/slice]
print('rslice[:,:]=', sample[:, :])
print('rslice[2:4,2:4]=', sample[2:4, 2:4])
print('rslice[1:8:2,1:5:3]=', sample[1:8:2, 1:5:3])

# case #2 [slice/index]
print('rslice[:,3]=', sample[:, 3])
print('rslice[2:7:2,3]=', sample[2:7:2, 3])

# case #3 [index/slice]
print('rslice[3,:]=', sample[3, :])
print('rslice[3,1:4:2]=', sample[3, 1:4:2])

# case #4 [index/index]
print('rslice[3,4]=', sample[3, 4])

# Writing slice
sample2 = ot.NumericalSample(sample)
sample2 *= [10.] * d

# case #0 [slice]
sample3 = ot.NumericalSample(sample)
sample3[:] = sample2
print("wrslice[:]=", sample3)
sample3 = ot.NumericalSample(sample)
sample3[2:4] = sample2[2:4]
print('wslice[2:4]=', sample3)
sample3 = ot.NumericalSample(sample)
sample3[1:8:2] = sample2[1:8:2]
print('wslice[1:8:2]=', sample3)

# case #1 [slice/slice]
sample3 = ot.NumericalSample(sample)
sample3[:, :] = sample2
print("wrslice[:,:]=", sample3)
sample3 = ot.NumericalSample(sample)
sample3[2:4, 2:4] = sample2[2:4, 2:4]
print('wslice[2:4,2:4]=', sample3)
sample3 = ot.NumericalSample(sample)
sample3[1:8:2, 1:5:3] = sample2[1:8:2, 1:5:3]
print('wslice[1:8:2,1:5:3]=', sample3)

# case #2 [slice/index]
sample3 = ot.NumericalSample(sample)
sample3[:, 3] = sample2[:, 3]
print('wslice[:,3]=', sample3)
sample3 = ot.NumericalSample(sample)
sample3[2:7:2, 3] = sample2[2:7:2, 3]
print('wslice[2:7:2,3]=', sample3)

# case #3 [index/slice]
sample3 = ot.NumericalSample(sample)
sample3[3, :] = sample2[3, :]
print('wslice[3,:]=', sample3)
sample3 = ot.NumericalSample(sample)
sample3[3, 1:4:2] = sample2[3, 1:4:2]
print('wslice[3,1:4:2]=', sample3)

# case #4 [index/index]
sample3 = ot.NumericalSample(sample)
sample3[3, 4] = sample2[3, 4]
print('wslice[3,4]=', sample3)