File: t_Sample_slice.py

package info (click to toggle)
openturns 1.26-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 67,708 kB
  • sloc: cpp: 261,605; python: 67,030; ansic: 4,378; javascript: 406; sh: 185; xml: 164; makefile: 101
file content (124 lines) | stat: -rwxr-xr-x 3,205 bytes parent folder | download | duplicates (3)
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
#! /usr/bin/env python

import openturns as ot


# We create an empty sample
N = 10
d = 5
sample = ot.Sample(N, d)
print("sample[-1]", sample[-1])
sample[-1] = [-1.0] * 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.0 * (j + 1) + i
description = []
for j in range(d):
    description.append("V" + str(j + 1))
sample.setDescription(description)
print("sample=", str(sample))


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

# case 0.2 [sequence]
print("rslice[[4,2,2,-1]]=", sample[[4, 2, 2, -1]])

# case 1.1 [int/int]
print("rslice[3,4]=", sample[3, 4])

# case 1.2 [int/slice]
print("rslice[3,:]=", sample[3, :])
print("rslice[3,1:4:2]=", sample[3, 1:4:2])

# case 1.3 [int/sequence]
print("rslice[3, (4,2,2,-1)]=", sample[3, (4, 2, 2, -1)])

# case 2.1 [slice/int]
print("rslice[:,3]=", sample[:, 3])
print("rslice[2:7:2,3]=", sample[2:7:2, 3])

# case 2.2 [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.3 [slice/sequence]
print("rslice[:, (4,2,2,-1)]=", sample[:, (4, 2, 2, -1)])

# case 3.1 [sequence/int]
print("rslice[(4,2,2,-1), 3]=", sample[(4, 2, 2, -1), 3])

# case 3.2 [sequence/slice]
print("rslice[(4,2,2,-1), :]=", sample[(4, 2, 2, -1), :])

# case 3.3 [sequence/sequence]
print("rslice[(4,2,2,-1), (3,1,-1)]=", sample[(4, 2, 2, -1), (3, 1, -1)])

# Writing slice
sample2 = ot.Sample(sample)
sample2 *= [10.0] * d

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

# case 0.2 [sequence]
sample3 = ot.Sample(sample)
sample3[[4, 2, 2, -1]] = sample2[[4, 2, 2, -1]]
print("wslice[[4,2,2,-1]]=", sample3)

# case 1.1 [int/int]
sample3 = ot.Sample(sample)
sample3[3, 4] = sample2[3, 4]
print("wslice[3,4]=", sample3)

# case 1.2 [int/slice]
sample3 = ot.Sample(sample)
sample3[3, :] = sample2[3, :]
print("wslice[3,:]=", sample3)
sample3 = ot.Sample(sample)
sample3[3, 1:4:2] = sample2[3, 1:4:2]
print("wslice[3,1:4:2]=", sample3)

# case 1.3 [int/sequence]
sample3 = ot.Sample(sample)
sample3[3, [4, 2, 2, -1]] = sample2[3, [4, 2, 2, -1]]
print("wslice[3, [4,2,2,-1]]=", sample3)

# case 2.1 [slice/int]
sample3 = ot.Sample(sample)
sample3[:, 3] = sample2[:, 3]
print("wslice[:,3]=", sample3)
sample3 = ot.Sample(sample)
sample3[2:7:2, 3] = sample2[2:7:2, 3]
print("wslice[2:7:2,3]=", sample3)

# case 2.2 [slice/slice]
sample3 = ot.Sample(sample)
sample3[:, :] = sample2
print("wrslice[:,:]=", sample3)
sample3 = ot.Sample(sample)
sample3[2:4, 2:4] = sample2[2:4, 2:4]
print("wslice[2:4,2:4]=", sample3)
sample3 = ot.Sample(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 3.1 [sequence/int]
sample3 = ot.Sample(sample)
sample3[[4, 2, 2, -1], 3] = sample2[[4, 2, 2, -1], 3]
print("wslice[[4,2,2,-1], 3]=", sample3)