質問編集履歴

3

行間を変更した

2021/09/07 10:44

投稿

OGlp5b5kJbOKRyk
OGlp5b5kJbOKRyk

スコア3

test CHANGED
File without changes
test CHANGED
@@ -100,37 +100,61 @@
100
100
 
101
101
  ```
102
102
 
103
+ import pandas as pd
104
+
105
+ import numpy as np
106
+
103
107
  d_data=pd.read_csv('d.csv')
104
108
 
105
109
  print(d_data)
106
110
 
111
+ #d_data=(2,2,11,2,
112
+
113
+ #11,2,2,2,
114
+
115
+ #11,2,2,11,
116
+
117
+ #2,2,2,11,
118
+
119
+ #11,2,2,2)
120
+
121
+ #d_n_data=np.array(d_data)
122
+
123
+ #d_l_data=tolist(d_n_data)
124
+
125
+ #print(d_n_data)
126
+
127
+ result =tuple ([tuple(e) for e in d_data])
128
+
107
129
  d_s_index=tuple()
108
130
 
109
131
  d_z_index=tuple()
110
132
 
111
133
  d_m_index=tuple()
112
134
 
135
+ print(result)
136
+
113
137
  for i in P:
114
138
 
115
- for j in W:
139
+ for j in W:
116
-
140
+
117
- d_index=(i,j)
141
+ d_index=(i,j)
118
-
142
+
119
- d_t_index=tuple(d_index)
143
+ d_t_index=tuple(d_index)
120
-
144
+
121
- d_m_index=d_s_index+d_t_index
145
+ d_m_index=d_s_index+d_t_index
122
-
146
+
123
- temp=d_m_index
147
+ temp=d_m_index
124
-
148
+
125
- d_s_index=temp
149
+ d_s_index=temp
126
-
150
+
127
- d_z_index=d_m_index
151
+ d_z_index=d_m_index
128
-
152
+
129
- d_m_index=tuple()
153
+ d_m_index=tuple()
130
154
 
131
155
  print(d_z_index)
132
156
 
133
- d=zip(dict(d_z_index,d_data)
157
+ d=zip(dict(d_z_index,result))
134
158
 
135
159
  print(d)
136
160
 
@@ -142,17 +166,19 @@
142
166
 
143
167
  実行結果
144
168
 
145
- 1 2 3 4
169
+ 1 2 3 4
146
-
170
+
147
- 0 2 2 11 2
171
+ 0 2 2 11 2
148
-
172
+
149
- 1 11 2 2 2
173
+ 1 11 2 2 2
150
-
174
+
151
- 2 11 2 2 11
175
+ 2 11 2 2 11
152
-
176
+
153
- 3 2 2 2 11
177
+ 3 2 2 2 11
154
-
178
+
155
- 4 11 2 2 2
179
+ 4 11 2 2 2
180
+
181
+ (('1',), ('2',), ('3',), ('4',))
156
182
 
157
183
  (1, 1, 1, 2, 1, 3, 1, 4, 2, 1, 2, 2, 2, 3, 2, 4, 3, 1, 3, 2, 3, 3, 3, 4, 4, 1, 4, 2, 4, 3, 4, 4, 5, 1, 5, 2, 5, 3, 5, 4)
158
184
 

2

2021/09/07 10:44

投稿

OGlp5b5kJbOKRyk
OGlp5b5kJbOKRyk

スコア3

test CHANGED
File without changes
test CHANGED
@@ -136,6 +136,10 @@
136
136
 
137
137
  ```
138
138
 
139
+
140
+
141
+ ```
142
+
139
143
  実行結果
140
144
 
141
145
  1 2 3 4

1

2021/09/07 10:23

投稿

OGlp5b5kJbOKRyk
OGlp5b5kJbOKRyk

スコア3

test CHANGED
File without changes
test CHANGED
@@ -1,16 +1,104 @@
1
- d={(1,1):2,(1,2):3,(1,3):3,(1,4):5,
1
+ ```
2
2
 
3
- (2,1):2,(2,2):3,(2,3):3,(2,4):5,
3
+ d={(1,1):2,(1,2):2,(1,3):11,(1,4):2,
4
4
 
5
- (3,1):2,(3,2):3,(3,3):3,(3,4):5,
5
+ (2,1):11,(2,2):2,(2,3):2,(2,4):2,
6
6
 
7
- (4,1):2,(4,2):3,(4,3):3,(4,4):5,
7
+ (3,1):11,(3,2):2,(3,3):2,(3,4):11,
8
8
 
9
+ (4,1):2,(4,2):2,(4,3):2,(4,4):11,
10
+
9
- (5,1):2,(5,2):3,(5,3):3,(5,4):5,
11
+ (5,1):11,(5,2):2,(5,3):2,(5,4):2,
10
12
 
11
13
  }
12
14
 
15
+ ```
16
+
17
+
18
+
13
19
  上のようなd-(tuple):value-添え字のtupleをキーに値を辞書として表現するデータ形式にpython3.9でcsv形式のファイルを取り込んで、pandasを用いて変更したいのですがやり方が分かりません。
20
+
21
+ 理由:
22
+
23
+ gurobiを用いて、最適化を行っている際に、手入力したデータでは出来たのですが、csvファイル形式でのデータでないといけないということを決められていたため、変更が必要であるからです。
24
+
25
+
26
+
27
+ 求められる結果
28
+
29
+
30
+
31
+ ```
32
+
33
+
34
+
35
+ print(d)
36
+
37
+
38
+
39
+ ```
40
+
41
+
42
+
43
+ ```
44
+
45
+
46
+
47
+ {(1,1):2,(1,2):2,(1,3):11,(1,4):2,
48
+
49
+ (2,1):11,(2,2):2,(2,3):2,(2,4):2,
50
+
51
+ (3,1):11,(3,2):2,(3,3):2,(3,4):11,
52
+
53
+ (4,1):2,(4,2):2,(4,3):2,(4,4):11,
54
+
55
+ (5,1):11,(5,2):2,(5,3):2,(5,4):2,
56
+
57
+ }
58
+
59
+
60
+
61
+ ```
62
+
63
+
64
+
65
+ csvファイル
66
+
67
+
68
+
69
+ csvファイルには、Excelで作成した
70
+
71
+
72
+
73
+ ```
74
+
75
+
76
+
77
+ 1,2,3,4,
78
+
79
+ 2,2,11,2,
80
+
81
+ 11,2,2,2,
82
+
83
+ 11,2,2,11,
84
+
85
+ 2,2,2,11,
86
+
87
+ 11,2,2,2,
88
+
89
+
90
+
91
+ ```
92
+
93
+
94
+
95
+ の1番上はindexで1,2,3,4で5×4の行列が入っています。
96
+
97
+
98
+
99
+
100
+
101
+ ```
14
102
 
15
103
  d_data=pd.read_csv('d.csv')
16
104
 
@@ -21,8 +109,6 @@
21
109
  d_z_index=tuple()
22
110
 
23
111
  d_m_index=tuple()
24
-
25
- print(result)
26
112
 
27
113
  for i in P:
28
114
 
@@ -44,6 +130,12 @@
44
130
 
45
131
  print(d_z_index)
46
132
 
133
+ d=zip(dict(d_z_index,d_data)
134
+
135
+ print(d)
136
+
137
+ ```
138
+
47
139
  実行結果
48
140
 
49
141
  1 2 3 4
@@ -60,13 +152,37 @@
60
152
 
61
153
  (1, 1, 1, 2, 1, 3, 1, 4, 2, 1, 2, 2, 2, 3, 2, 4, 3, 1, 3, 2, 3, 3, 3, 4, 4, 1, 4, 2, 4, 3, 4, 4, 5, 1, 5, 2, 5, 3, 5, 4)
62
154
 
155
+
156
+
157
+ ```
158
+
159
+
160
+
63
161
  自分で試したこと
64
162
 
65
163
  zip(dict)結合を試してみたのですが,うまくいきませんでした。
66
164
 
165
+ 型がタプルであるため、要素を、(1,1),(1,2)という形に変更しようとしたのですが、やり方が分からず、一つのタプルになっているのが上の実行結果です。
166
+
167
+ numpyを用いて
168
+
169
+ print(d_data)は
170
+
171
+ arrayに変更すると5×4の行列にはなるのですが、
172
+
173
+ 実行出来ませんでした。
174
+
67
175
  エラーメッセージとして
68
176
 
177
+
178
+
179
+ ```
180
+
69
181
  dict expected at most1 arguments, got 2
182
+
183
+
184
+
185
+ ```
70
186
 
71
187
  と出ていました。
72
188