numpy.empty() numpy.empty() は要素が初期化されていない空の配列 (未初期化配列) を返します。 numpy.empty(shape, dtype=float, order='C') 3 × 3 の未初期化配列を生成してみます。 # NUMPY_EMPTY # In[1] import numpy as np # 未初期化配列を生成 arr = np.empty((3, 3)) print(arr) [[1.91290538e+092 1.43587367e+214 2.55172530e+151] [2.29249727e+170 1.97626258e-323 […]
numpy.get_printoptions() numpy.get_printoptions() は現在設定されている配列の表示形式を取得します。 デフォルトでは以下のような設定になっているはずです。 # GET_PRINT_OPTIONS import numpy as np # 配列の表示形式を取得 np.get_printoptions() {'edgeitems': 3, 'threshold': 1000, 'floatmode': 'maxprec', 'precision': 8, 'suppress': False, 'linewidth': 75, 'nanstr': […]
Pythonで都道府県無作為抽出関数を作成します 都道府県別の人口比率 にもとづいて、出身都道府県を無作為抽出する関数 を作成してみます。最初に必要なモジュールをインポートして、当サイトから pop_area_jp.csv を読み込みます。 # PYTHON_PREFECTURE # In[1] import numpy as np import pandas as pd url = "https://python.atelierkobato.com/wp-content/uploads/pop_area_jp.csv" data = pd.read_csv(url, encoding="S […]
random.shuffle() シーケンス要素のシャッフル random.shuffle() は ミュータブル (変更可能) なシーケンス x の要素をシャッフル (ランダムソート) します。 random.shuffle(x [, random]) オプション引数 random には 0.0 以上 1.0 未満の浮動小数点乱数を指定します。デフォルトでは random() 関数が与えられます。 # PYTHON_SHUFFLE # In[1] # randomモジュールをインポート import random # 乱数を初期化 random.seed(0) # 夏目漱石の作品 sous […]
血液型をランダムに生成する ある調査によると、日本人の ABO式血液型 は、おおよそ O 型:32% A 型:37% B 型:22% AB 型:9% のような比率で分布していることが知られています (ただし地域差が大きいので、標本によって比率は僅かに異なるようです)。この比率にしたがって、血液型をランダムに決定する関数を定義してみましょう。 numpy.random.choice() は第 1 引数にオブジェクトのリスト、オプション引数 p に第 1 引数の各要素に対応する確率リストを渡すと、設定した確率で各オブジェクトを返します。 # PYTHON_BLOOD_TYP […]
生年月日から年齢を計算する 生年月日 と現在の日付を与えて正確な 年齢を計算 させるプログラムを作ってみましょう。この手の計算は閏年などが絡んできて案外面倒なのですが、dateutil をインポートすると簡単に実装できます。 # PYTHON_AGE_01-1 from datetime import date from dateutil.relativedelta import relativedelta datetime は標準ライブラリです。dateutil はサードパーティのライブラリですが、Anaconda には同梱されています。もし dateutil がない場合は pip コマ […]
氏名自動生成器:name_generator() pandas の実践編です。苗字と名前をランダムに組み合わせて、氏名を自動生成 する name_generator() 関数 を作成してみます。 最初に NumPy と pandas をインポートしておきます。 # PYTHON_NAME_GENERATOR # In[1] # NumPyとpandasをインポート import numpy as np import pandas as pd このサイトの name_s.csv というファイルを読み込んで、データフレームに格納します。 # In[2] # ファイルのURL u = "h […]
隣り合う要素の差分をとる関数 numpy.diff() や numpy.ediff1d() は受け取った配列のとなり合う要素の差分を作って返します。 numpy.diff() numpy.diff() は受け取った配列の隣り合う要素同士の 差分 を計算します。 numpy.diff(a, n=1, axis=-1, prepend=<no value>, append=<no value>) a が一次元配列で要素数 (a.size) が n ならば、戻り値は要素数 n-1 の一次元配列です。 たとえば、[1 3 7 15] という配列が与えられたとき、1 と […]
【NumPy】多次元配列をフラットにする関数 多次元配列をフラットにして(一次元配列にして)返す関数の一覧です。 numpy.ravel() numpy.ravel() は受け取った多次元配列を フラット にして 1 次元配列を返します。 # NUMPY_RAVEL # In[1] import numpy as np # [[1 2 3] # [4 5 6] # [7 8 9]] x = np.arange(1, 10).reshape(3, 3) # xをフラットにする rv_x = np.ravel(x) print(rv_x) [1 2 3 4 5 6 7 8 9] numpy. […]
[NumPy] 配列要素の反転操作 配列要素を特定の軸について 反転 させる関数の一覧です。 numpy.flip() numpy.flip(arr, axis=None) は指定した軸 (axis) に沿って要素を 反転 させます。1 次元配列を渡す場合は axis を渡す必要はありません。 # NUMPY_FLIP # In[1] import numpy as np # x = [1 2 3 4 5 6 7 8 9] x = np.arange(1, 10) # xの要素を左右反転 a = np.flip(x) print(a) [9 8 7 6 5 4 3 2 1] numpy. […]