質問編集履歴

5

説明変えました

2019/12/11 07:20

投稿

ryosuke197
ryosuke197

スコア12

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- meshgridで作成したlist_thetaの0行目と1行目で計算を行うのですが、値の大きさによって計算内容を変え、それを同一のtheta_ijに入れたいのですが、以下のエラーが発生しました。
5
+ meshgridで作成したlist_thetaの0行目と1行目で計算を行うのですが、値の大きさによって計算内容を変え、それを同一のtheta_ijに入れたいのですが、一番最後の行で以下のエラーが発生しました。
6
6
 
7
7
 
8
8
 
@@ -96,7 +96,7 @@
96
96
 
97
97
 
98
98
 
99
- ここ問題してしたことを記載てください
99
+ 行番号と列番号を繰り返し指定して、条件合うときだけ、値を更新したいので、データフレームにしないでやっみたりしたのですが、ダメで
100
100
 
101
101
 
102
102
 

4

lenの値

2019/12/11 07:19

投稿

ryosuke197
ryosuke197

スコア12

test CHANGED
File without changes
test CHANGED
@@ -72,7 +72,7 @@
72
72
 
73
73
 
74
74
 
75
- NN=len(list_theta)
75
+ NN=len(df_theta)
76
76
 
77
77
  theta_ij=np.abs(list_theta[0]-list_theta[1])
78
78
 

3

エラーの発生について

2019/12/11 06:59

投稿

ryosuke197
ryosuke197

スコア12

test CHANGED
File without changes
test CHANGED
@@ -2,9 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- meshgridで作成したlist_thetaの0行目と1行目で計算を行うのですが、値の大きさによって計算内容を変え、それを同一のtheta_ijに入れたいです。
5
+ meshgridで作成したlist_thetaの0行目と1行目で計算を行うのですが、値の大きさによって計算内容を変え、それを同一のtheta_ijに入れたいですが、以下のエラーが発生しました
6
-
7
- if文で条件分岐を作成すると、以下のエラーが発生しました。
8
6
 
9
7
 
10
8
 

2

エラーの内容を更新しました

2019/12/11 06:29

投稿

ryosuke197
ryosuke197

スコア12

test CHANGED
File without changes
test CHANGED
@@ -14,11 +14,11 @@
14
14
 
15
15
  ```
16
16
 
17
- if np.abs(list_theta[0]-list_theta[1])<180:
17
+ values[indexer] = value
18
18
 
19
19
 
20
20
 
21
- ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
21
+ ValueError: setting an array element with a sequence.
22
22
 
23
23
  ```
24
24
 

1

if文の所をfor文を入れて条件を満たすとき、df_theta_ijを更新するように変更しました。

2019/12/11 06:28

投稿

ryosuke197
ryosuke197

スコア12

test CHANGED
File without changes
test CHANGED
@@ -74,13 +74,21 @@
74
74
 
75
75
 
76
76
 
77
- if np.abs(list_theta[0]-list_theta[1])<180:
77
+ NN=len(list_theta)
78
78
 
79
- theta_ij=np.abs(list_theta[0]-list_theta[1])
79
+ theta_ij=np.abs(list_theta[0]-list_theta[1])
80
80
 
81
- else:
81
+ df_theta_ij=pd.DataFrame(theta_ij)
82
82
 
83
+
84
+
85
+ for a in range(NN):
86
+
87
+ for b in range(NN):
88
+
89
+ if df_theta_ij.iloc[a,b]<180:
90
+
83
- theta_ij=360-np.abs(list_theta[0]-list_theta[1])
91
+ df_theta_ij.iloc[a,b]=360-np.abs(list_theta[0]-list_theta[1])
84
92
 
85
93
  ```
86
94