Python関数

1/5ページ
  • 2019.11.21

未初期化配列

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 […]

  • 2019.09.18

[NumPy] 表示形式の設定

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': […]

  • 2019.09.06

都道府県の無作為抽出

都道府県の無作為抽出  都道府県別の人口比率 にもとづいて、出身都道府県を無作為抽出する関数 を作成してみます。最初に必要なモジュールをインポートして、当サイトから 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="SHIFT-JIS")  po […]

  • 2019.08.31

シャッフル (ランダムソート)

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 […]

  • 2019.08.25

両親の血液型から子供の血液型を決定する

血液型をランダムに生成する  ある調査によると、日本人の ABO 式血液型 は、おおよそ   O型:32%、A型:37%、B型:22%、AB型:9% のような比率で分布していることが知られています (ただし地域差が大きいので、標本によって比率は僅かに異なるようです)。この比率にしたがって、血液型をランダムに決定する関数 を定義してみましょう。  numpy.random.choice() は第 1 引数にオブジェクトのリスト、オプション引数 p に第 1 引数の各要素に対応する確率リストを渡すと、設定した確率で各オブジェクトを返します。 # PYTHON_BLOOD_TYPE_01-1 imp […]

  • 2019.08.21

生年月日から年齢を計算する

生年月日から年齢を計算する  生年月日 と現在の日付を与えて正確な 年齢を計算 させるプログラムを作ってみましょう。この手の計算は閏年などが絡んできて案外面倒なのですが、dateutil をインポートすると簡単に実装できます。 # PYTHON_AGE_01-1 from datetime import date from dateutil.relativedelta import relativedelta  datetime は標準ライブラリです。dateutil はサードパーティのライブラリですが、Anaconda には同梱されています。もし dateutil がない場合は pip コマ […]

  • 2019.08.20

名前を自動生成する

氏名自動生成器: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 = "htt […]

  • 2019.07.23

numpy.diff(), numpy.ediff1d()

隣り合う要素の差分をとる関数  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 と […]

  • 2019.07.21

[NumPy] 多次元配列のフラット化

[NumPy] 多次元配列をフラットにする関数  多次元配列をフラットにして(一次元配列にして)返す関数の一覧です。 numpy.ravel()  numpy.ravel() は受け取った多次元配列を フラット にして 1 次元配列を返します。 # NUMPY_FLAT_01 # 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]  num […]

  • 2019.07.19

[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. […]

1 5