質問編集履歴

5

コード修正

2018/06/28 14:07

投稿

yohehe
yohehe

スコア48

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
  data.append(temp_data)
44
44
 
45
- new_a=np.delete(a,,axis=1)
45
+ new_a=np.delete(a,[range(21)],axis=1)
46
46
 
47
47
  a=new_a
48
48
 

4

質問を全体的に修正いたしました。自分なりの解法を考えたのですがループしてしまっているのではないかと思われます。

2018/06/28 14:07

投稿

yohehe
yohehe

スコア48

test CHANGED
@@ -1 +1 @@
1
- np.arrayのshape(3,n)のデータ(n>1000)から(3,任意の数値)ごとのarrayデータ毎に取り出していく方法
1
+ np.array(3,2000)から(3,21)ごとのarrayデータ毎にfor or while文で取り出していく方法
test CHANGED
@@ -1,10 +1,12 @@
1
- np.arrayで(3,n)のデータ(n>1000)から(3,任意の数値)毎のarrayデータに取り出していくfor文の作り方がわからず困っています。
1
+ np.arrayで(3,2000)のデータからnp.array(3,21)毎のarrayデータに取り出していくfor文の作り方がわからず困っています。
2
+
3
+ np.arrayのshapeが(3,2013)の場合で20で割り切れない場合には(3,20)ごとにわける場合while文が正しいでしょうか。
2
4
 
3
5
 
4
6
 
5
7
  ```python
6
8
 
7
- # array(3,2000)とすると
9
+ # array(3,2000),取り出す値を(3,20)とすると
8
10
 
9
11
  arr=np.arange(6000).reshape(3,2000)
10
12
 
@@ -26,10 +28,38 @@
26
28
 
27
29
  #(5, 3, 20)と出力されてしまう。
28
30
 
31
+
32
+
33
+ #以下追記 新しい方法を考えて試してみました。
34
+
35
+ data=[]
36
+
37
+ while True:
38
+
39
+ a=arr
40
+
41
+ temp_data=a[:,1:21]
42
+
43
+ data.append(temp_data)
44
+
45
+ new_a=np.delete(a,,axis=1)
46
+
47
+ a=new_a
48
+
49
+ if a.shape[1]<21:
50
+
51
+ break
52
+
53
+ #取り出しては行列を削除していく。21個ごとを取り出してdataに格納。aの列が21個以下になったらプログラムを停止。
54
+
55
+ #上の方法をやるとループしてしまっているみたいです。
56
+
29
57
  ```
30
58
 
31
59
 
32
60
 
33
- np.hsplitの方法も考えたのですが、n任意の数値で割れない場合にはsplitできなくなります。
61
+ np.hsplitの方法も考えたのですが、列数が割りきれない場合にはsplitできない。ので他の方法を考えております。
62
+
63
+ a,b,c,d,.....=np.split(arr)という書き方以外があるのか。
34
64
 
35
65
  すみませんが教えていただけますと幸いです。

3

タイトル修正しました。

2018/06/28 14:06

投稿

yohehe
yohehe

スコア48

test CHANGED
@@ -1 +1 @@
1
- np.array.shape(3,n)のデータ(n>1000)から(3,任意の数値)ごとのarrayデータごとに取り出していく方法
1
+ np.arrayshape(3,n)のデータ(n>1000)から(3,任意の数値)ごとのarrayデータに取り出していく方法
test CHANGED
File without changes

2

タイトル修正

2018/06/28 11:51

投稿

yohehe
yohehe

スコア48

test CHANGED
@@ -1 +1 @@
1
- (3,n)のデータ(n>1000)から(3,任意の数値)ごとのarrayデータごとに取り出していく方法
1
+ np.array.shape(3,n)のデータ(n>1000)から(3,任意の数値)ごとのarrayデータごとに取り出していく方法
test CHANGED
File without changes

1

プログラムの数値修正しました。

2018/06/28 11:49

投稿

yohehe
yohehe

スコア48

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  #取り出せる数を除算で出す。
14
14
 
15
- n=2000//3
15
+ n=2000//20
16
16
 
17
17
  for i in range(0,n,20):
18
18
 
@@ -24,7 +24,7 @@
24
24
 
25
25
  print(data.shape)
26
26
 
27
- #(34, 3, 20)と出力されてしまう。
27
+ #(5, 3, 20)と出力されてしまう。
28
28
 
29
29
  ```
30
30