回答編集履歴
3
説明追加
answer
CHANGED
@@ -22,4 +22,5 @@
|
|
22
22
|
(2,)
|
23
23
|
```
|
24
24
|
|
25
|
-
numpyの数値計算機能を使わずに単に入れ物として使うだけでしたら、dtypeとしてobjectを指定すればどんなものでも入れることはできます。
|
25
|
+
numpyの数値計算機能を使わずに単に入れ物として使うだけでしたら、dtypeとしてobjectを指定すればどんなものでも入れることはできます。
|
26
|
+
しかし、そのような使い方なら、列ごとにデータ型を指定できるpandasのデータフレームを使った方が楽でしょう。
|
2
説明追加
answer
CHANGED
@@ -20,4 +20,6 @@
|
|
20
20
|
[(1980, 5. ) (1981, 1.2)]
|
21
21
|
>>> print(a2.shape)
|
22
22
|
(2,)
|
23
|
-
```
|
23
|
+
```
|
24
|
+
|
25
|
+
numpyの数値計算機能を使わずに単に入れ物として使うだけでしたら、dtypeとしてobjectを指定すればどんなものでも入れることはできます。
|
1
例を追加
answer
CHANGED
@@ -3,4 +3,21 @@
|
|
3
3
|
ndarrayでは全ての要素は同じdtypeを持ちます。dtypeとしてstructured arrayを使えば
|
4
4
|
[(1983, 2, 3.9, -1.4, 16, 27. , 54.3)
|
5
5
|
(1983, 3, 9.7, 3.5, 2, 32.9, 75.5)]
|
6
|
-
のように表記されます。
|
6
|
+
のように表記されます。
|
7
|
+
|
8
|
+
以下をご覧ください。
|
9
|
+
|
10
|
+
```python
|
11
|
+
>>>
|
12
|
+
>>> a1 = np.array([[1980, 5.0],[1981, 1.2]])
|
13
|
+
>>> a2 = np.array([(1980, 5.0), (1981, 1.2)], dtype=[("x", int), ("y", float)])
|
14
|
+
>>> print(a1)
|
15
|
+
[[1.980e+03 5.000e+00]
|
16
|
+
[1.981e+03 1.200e+00]]
|
17
|
+
>>> print(a1.shape)
|
18
|
+
(2, 2)
|
19
|
+
>>> print(a2)
|
20
|
+
[(1980, 5. ) (1981, 1.2)]
|
21
|
+
>>> print(a2.shape)
|
22
|
+
(2,)
|
23
|
+
```
|