Qiita Teams that are logged in
You are not logged in to any team

Community
Service
Qiita JobsQiita ZineQiita Blog
10
Help us understand the problem. What is going on with this article?
@YusukeEngineer

# Numpy入門

More than 1 year has passed since last update.

# 1. Numpy 基礎

## 1.1. numpy.ndarray 基礎

### 1.1.1. numpy.ndarray 属性要素

numpy.ndarray 属性要素 取得内容 Example 1
np.array([[1,0,0],[0,1,2]])
ndim 次元数 2
shape 配列の形 (2,3)
size 配列要素の数 6
dtype 配列要素のデータ型 int32
T 転置配列 np.array([[1 0]
[0 1]
[0 2]])
flags メモリーレイアウト
flat 一次元化（平坦化）した配列生成

imag 配列要素の虚部値配列
real 配列要素の実部値配列
itemsize 配列要素の大きさ（バイト）

4
nbytes 配列の大きさ(バイト) 32
strides 隣する配列要素のずれ（バイト） (12,4)

-> 4バイト * 3要素(横方向)

-> 4バイト * 1要素
ctypes ctypesモジュールで使用
base 参照先の配列 None
Example_1.py
```### ライブラリ定義
import numpy as np

### 関数定義
def print_attribute(input):
print("")
for key, value in input.items():
print(">>> " + str(key))
print("IN: print("+str(key)+")")
print("OUT: "+str(value))
print("")

### 配列定義
array = np.array( [[1,0,0],[0,1,2]])

### numpy.ndarray要素定義

attribute ={}
attribute['array.ndim'] = array.ndim
attribute['array.shape'] = array.shape
attribute['array.size'] = array.size
attribute['array.dtype'] = array.dtype
attribute['array.T'] = array.T
attribute['array.flags'] = array.flags
attribute['array.flat'] = array.flat
attribute['np.array(array.flat)'] = np.array(array.flat)
attribute['array.imag'] = array.imag
attribute['array.real'] = array.real
attribute['array.itemsize'] = array.itemsize
attribute['array.nbytes'] = array.nbytes
attribute['array.strides'] = array.strides
attribute['array.ctypes'] = array.ctypes
attribute['array.base'] = array.base

### numpy.ndarray要素取得例
print_attribute(attribute)
"""

>>> array.ndim
IN: print(array.ndim)
OUT: 2

>>> array.shape
IN: print(array.shape)
OUT: (2, 3)

>>> array.size
IN: print(array.size)
OUT: 6

>>> array.dtype
IN: print(array.dtype)
OUT: int32

>>> array.T
IN: print(array.T)
OUT: [[1 0]
[0 1]
[0 2]]

>>> array.flags
IN: print(array.flags)
OUT:   C_CONTIGUOUS : True
F_CONTIGUOUS : False
OWNDATA : True
WRITEABLE : True
ALIGNED : True
WRITEBACKIFCOPY : False
UPDATEIFCOPY : False

>>> array.flat
IN: print(array.flat)
OUT: <numpy.flatiter object at 0x000001E00DB70A00>

>>> np.array(array.flat)
IN: print(np.array(array.flat))
OUT: [1 0 0 0 1 2]

>>> array.imag
IN: print(array.imag)
OUT: [[0 0 0]
[0 0 0]]

>>> array.real
IN: print(array.real)
OUT: [[1 0 0]
[0 1 2]]

>>> array.itemsize
IN: print(array.itemsize)
OUT: 4

>>> array.nbytes
IN: print(array.nbytes)
OUT: 24

>>> array.strides
IN: print(array.strides)
OUT: (12, 4)

>>> array.ctypes
IN: print(array.ctypes)
OUT: <numpy.core._internal._ctypes object at 0x000001E00D84BC50>

>>> array.base
IN: print(array.base)
OUT: None

"""
```

# 参考文献

10
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
1. We will deliver articles that match you
By following users and tags, you can catch up information on technical fields that you are interested in as a whole
2. you can read useful information later efficiently
By "stocking" the articles you like, you can search right away