回答編集履歴
2
Update
test
CHANGED
@@ -112,6 +112,22 @@
|
|
112
112
|
|
113
113
|
|
114
114
|
|
115
|
+
後々の事を考えると、固定長で確保するよりは `dtype` に `object` を指定する方が良いかもしれません。
|
116
|
+
|
117
|
+
```python
|
118
|
+
|
119
|
+
#InitData = np.full((65,18),1)
|
120
|
+
|
121
|
+
#boardData = InitData.astype(str)
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
boardData = np.full((65,18), '', dtype=object)
|
126
|
+
|
127
|
+
```
|
128
|
+
|
129
|
+
|
130
|
+
|
115
131
|
**余談**
|
116
132
|
|
117
133
|
|
@@ -124,7 +140,11 @@
|
|
124
140
|
|
125
141
|
|
126
142
|
|
143
|
+
xfpath = 'data.xml'
|
144
|
+
|
145
|
+
|
146
|
+
|
127
|
-
df = pd.read_xml(
|
147
|
+
df = pd.read_xml(xfpath, xpath='board')
|
128
148
|
|
129
149
|
df.fillna('', inplace=True)
|
130
150
|
|
@@ -132,23 +152,47 @@
|
|
132
152
|
|
133
153
|
boardData = df.to_numpy(copy=True)
|
134
154
|
|
155
|
+
print(f'boardData:\n{boardData}\n')
|
156
|
+
|
135
|
-
print(f' Type: {type(boardData)}')
|
157
|
+
print(f' Type: {type(boardData)}')
|
158
|
+
|
136
|
-
|
159
|
+
print(f' DataType: {type(boardData.dtype)}')
|
160
|
+
|
137
|
-
print(f'Shape
|
161
|
+
print(f' Shape: {boardData.shape}')
|
138
162
|
|
139
163
|
|
140
164
|
|
141
165
|
boardData[2][1] = boardData[2][1] * 5
|
142
166
|
|
143
|
-
print(f'boardData[2][1]: {boardData[2][1]}')
|
167
|
+
print(f'\nboardData[2][1]: {boardData[2][1]}')
|
144
168
|
|
145
169
|
|
146
170
|
|
147
171
|
_ = """
|
148
172
|
|
173
|
+
boardData:
|
174
|
+
|
175
|
+
[[1 'AKT53' 'K82' 'QT3' 'Q6' 'QJ7' 'T64' '976' 'J942' 98.0 'AJ93' 'A85'
|
176
|
+
|
177
|
+
'T875' '642' 'Q75' 'KJ42' 'AK3' 'NONE' 'N']
|
178
|
+
|
179
|
+
[2 '87' '64' 'T52' 'AQ6532' 'QT965' 'AT8' 'J64' '87' 4.0 'J953' 'K9873'
|
180
|
+
|
181
|
+
'J94' 'AKJ32' 'KQ72' 'AQ' 'KT' 'NS' 'E']
|
182
|
+
|
183
|
+
[3 'AKQJT98765432' '' '' '' '' 'AKQJT98765432' '' '' '' ''
|
184
|
+
|
185
|
+
'AKQJT98765432' 'J94' '' '' '' 'AKQJT98765432' '' 'W']]
|
186
|
+
|
187
|
+
|
188
|
+
|
149
|
-
Type: <class 'numpy.ndarray'>
|
189
|
+
Type: <class 'numpy.ndarray'>
|
190
|
+
|
150
|
-
|
191
|
+
DataType: <class 'numpy.dtype[object_]'>
|
192
|
+
|
151
|
-
Shape
|
193
|
+
Shape: (3, 19)
|
194
|
+
|
195
|
+
|
152
196
|
|
153
197
|
boardData[2][1]: AKQJT98765432AKQJT98765432AKQJT98765432AKQJT98765432AKQJT98765432
|
154
198
|
|
1
Update
test
CHANGED
@@ -60,6 +60,12 @@
|
|
60
60
|
|
61
61
|
|
62
62
|
|
63
|
+
以下の説明は間違いです。正しくは bsdfan さんのコメントをお読み下さい。
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
===== ここから =====
|
68
|
+
|
63
69
|
ちなみに、`numpy 1.21.4` ではデフォルトで `21` バイト確保されるので当該の問題は発生しません。
|
64
70
|
|
65
71
|
```python
|
@@ -102,6 +108,8 @@
|
|
102
108
|
|
103
109
|
```
|
104
110
|
|
111
|
+
===== ここまで =====
|
112
|
+
|
105
113
|
|
106
114
|
|
107
115
|
**余談**
|
@@ -122,22 +130,28 @@
|
|
122
130
|
|
123
131
|
|
124
132
|
|
125
|
-
|
133
|
+
boardData = df.to_numpy(copy=True)
|
134
|
+
|
135
|
+
print(f' Type: {type(boardData)}')
|
136
|
+
|
137
|
+
print(f'Shape : {boardData.shape}')
|
126
138
|
|
127
139
|
|
128
140
|
|
129
|
-
|
141
|
+
boardData[2][1] = boardData[2][1] * 5
|
130
142
|
|
131
|
-
|
143
|
+
print(f'boardData[2][1]: {boardData[2][1]}')
|
132
|
-
|
133
|
-
0 1 AKT53 K82 QT3 Q6 QJ7 ... 642 Q75 KJ42 AK3 NONE N
|
134
|
-
|
135
|
-
1 2 87 64 T52 AQ6532 QT965 ... AKJ32 KQ72 AQ KT NS E
|
136
|
-
|
137
|
-
2 3 AKQJT98765432 ... AKQJT98765432 W
|
138
144
|
|
139
145
|
|
140
146
|
|
147
|
+
_ = """
|
148
|
+
|
149
|
+
Type: <class 'numpy.ndarray'>
|
150
|
+
|
151
|
+
Shape : (3, 19)
|
152
|
+
|
153
|
+
boardData[2][1]: AKQJT98765432AKQJT98765432AKQJT98765432AKQJT98765432AKQJT98765432
|
154
|
+
|
141
|
-
|
155
|
+
"""
|
142
156
|
|
143
157
|
```
|