RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作 Python

pythonのnumpyで遊ぶ

投稿日:

異常に奥が深いnumpyで遊びましょう!!

import numpy as np

配列の形状変換

a = np.arange(int(np.floor(np.random.rand()*1000)))
for i in range(1,len(a)+1):
     if len(a) % i == 0:
             np.reshape(a, (i,-1))

速度測定

def test(n):
    return sum(range(n))

import timeit
timeit.timeit('test(100)', globals=globals(), number=1000)

amaxとmaxの比較

>>> timeit.timeit('np.amax(a)', globals=globals(), number=1000000)
3.069760522001161
>>> timeit.timeit('np.max(a)', globals=globals(), number=1000000)
3.094179121999332

環境と調子次第で0.3s(10%)くらい変動するのが気になる。

whereの楽しい使い方

a = np.arange(12).reshape((3, 4))
b = np.reshape(a, (3, 4))
c = b ** 2
np.where(b % 2 == 0, b, c) # bが偶数でないときはcが出てくる

TransposeとTを科学する

a = np.arange(120).reshape((1,2,3,4,5))
# a.T = a.transpose(4,3,2,1,0)
b = np.arange(120).reshape((2,3,4,5))
# b.T = b.transpose(3,2,1,0)
c = np.arange(24).reshape((2,3,4))
# c.T = c.transpose(2,1,0)

位置関係が逆転する訳だ

楽しい図形描写

import matplotlib.pyplot as plt
x = np.linspace(-50, 50, 100000)
y = np.tan(x)
plt.plot(x, y)
plt.show()


tan()は何かかっこいい

from scipy.special import expit
x = np.linspace(-10, 10, 100000)
y = expit(x)
plt.plot(x, y)
plt.show()

sigmoid 関数は神(神経科学的な意味で)

x = np.random.randint(1000, size = 10000)
y = np.sin(x)
plt.scatter(x, y)
plt.show()


謎の模様・・・なぜだ?自己組織化に関連しているような・・・。

import numpy as np
import matplotlib.pyplot as plt
for i in range(1, 20):
  n = i * 100
  x = np.random.randint(n, size = 10000)
  y = np.sin(x)
  plt.scatter(x, y)
  plt.title("n = " + str(n))
  plt.show()

やばい(ヤバい)

-Web制作, Python

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

[Meisyo]ゲームのUIを改善し続ける意味とは

1ヶ月に3回はUIが変わっているMeisyo。 何故変え続けているのか。 説明しよう! 今悪いポイント 簡単に言うと新規登録ユーザーさんが定着しない! チュートリアルでも最終ステップまでの到達率が75 …

no image

cakePHPの取り扱いを開始しました

ご無沙汰しております。 とりあえず初心者のためのCakePHP2.0 プログラミング入門でcakePHPを使えるようにして、 ミニ四駆ブログまとめを改良して、 野球ゲーム(baseball onlin …

[Meisyo]練習難易度の不均衡是正への分析的アプローチ2

[Meisyo]練習難易度の不均衡是正への分析的アプローチから早3か月。 「練習ごとに難易度が違いすぎるんですけど!!」という不満は少しは解消されたかなー・・・ 効果測定してないのにわかるの?エスパー …

ゲームのつくり方

何で書こうとしたの? ゲーム制作者が自由な記事を作る Advent Calendar 2021があったのでつい… 昔からゲーム開発の方法論を簡単にまとめたいと思っていましたが、いいきっかけだと思って書 …

no image

PHPのコーディング規則、PSRを学ぶ(4)

PHPのコーディング規則、PSRを学ぶ(3)の続きです。 今回は実際にクラス名定義を自宅サーバーで試してみます。 1.「SplClassLoader.php」を手に入れる 「ダウンロード」または「直接 …