紫藤のページにようこそ! Lisp, Haskell, Python, Sather などの関数型言語の解説、小品プログラムを載せています。 ここでは関数型プログラミング言語をものすごく広い意味で使っており、 手続きをデータとして扱える言語を指します。 (Python, Sather などは普通はオブジェクト指向言語に分類されます。) また、xyzzy のマクロに関するメモもあります。 面白そうな割りに、web 上に文書が少ない題材を取り上げています。 リンクはご自由にお張りください。 更新ログ [Sep 15, 2014](Python) Set を用いたライフゲームの実装 を作成 [Jul 21, 2014]デコレータを用いた bottle.py のアクセスコントロール を作成 [Jul 13, 2014]Maildir のバックアップ を作成 [Jun 28, 2014]自宅サーバの
-c command 指定されたコマンドを実行 script python ファイル (.py) を読み込んで実行 argvs スクリプトまたはコマンドの引数 対話モードで起動するとき、環境変数 PYTHONSTARTUP で指定されたファイルを読み込みます。 よく使うモジュールを import しておくと便利です。 詳しくは チュートリアル 2.1. を見てください。 スタートアップファイルの例: 01: # PYTHONSTARTUP 02: 03: import sys, math, re, os, os.path 04: print 'sys, math, re, os, os.path has been imported.' 2. Python スクリプトの書式 Python スクリプトの書式は以下の通りです。 00: #! /usr/bin/env python 01: # -
Python Imaging LibraryのImageクラスのデータをNumpyのarrayとして扱うための方法について。 Numpyの関数を使って直接pixel値を書き換えることが目標です。 まずは両方のライブラリをインポートしておきます。 import numpy import Image PILからNumpyのarrayへの変換 numpyで用意されているasarray関数を使うと、PILのImageオブジェクトを配列に変換することができます。 imgArray = numpy.asarray(pilImg) さらに配列の値を書き変えられるようにするためには、writeableフラグをTrueにする必要があるようです。 imgArray.flags.writeable = True NumpyのarrayからPILへの変換 PILのfromarrayメソッドによって、配列の各値を1
k-平均法は非階層型クラスタリング手法の一つである。 参考 クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた(てっく煮ブログ) 以前つくった串本浦神の潮位差と黒潮緯度の分布(下図)を2つのグループに分けてみる。 道具はscipyのk-means2関数を用いる。分けられたグループで色分けする。大きな●はそれぞれのグループの重心である(kmeans2で出てくる重心はNormarizeされたデータのものなのでそのままはつかわないこと)。重心が収束しているかの確認もおこなっている。 #read module from read_kuroshio_lat import read_kuroshio_lat from read_kushimoto_uragami import read_kushimoto_uragami import matplotlib.pyplot as
簡単な2Dグラフを描画する #!/usr/bin/env python """ Example: simple line plot. Show how to make and save a simple line plot with labels, title and grid """ from pylab import * t = arange(0.0, 1.0+0.01, 0.01) s = cos(2*2*pi*t) plot(t, s, '-', lw=2) xlabel('time (s)') ylabel('voltage (mV)') title('About as simple as it gets, folks') grid(True) #savefig('simple_plot.png') savefig('simple_plot') show() 簡単な3Dグラフを描
Maximaで数式処理 Maximaは、数式処理ソフトウェアです。 数式処理ソフトウェアではMathematica,Mappleが有名ですが、有料です。 せっかく無料で、オープンソースのMaximaがあるので、 これを使って、楽をしたいと思います。 Maxima入門 準備 基本操作 いろいろなグラフ 平面的なグラフ(陽関数) 平面的なグラフ(媒介変数表示) 立体的なグラフ(陽関数) 立体的なグラフ(媒介変数表示) 数式の操作 多項式 有理数 方程式を解く 近似解を求める 微分・積分 極限を求める 級数と積分 微分方程式 リスト(ベクトル・行列) リストの基本操作 ベクトル・行列の演算 関数 Pythonで数値計算 数値計算ソフトウェアでは、Matlab(有料),Scilab(無料),Octave(無料)等が 有名ですが、Pythonで数値計算用のモジュールを利用すれば同様のことができます。
Routines and objects by topic# In this chapter routine docstrings are presented, grouped by functionality. Many docstrings contain example code, which demonstrates basic usage of the routine. The examples assume that NumPy is imported with: A convenient way to execute examples is the %doctest_mode mode of IPython, which allows for pasting of multi-line examples and preserves indentation.
PYTHONにはゲームから数値計算用まで数々のモジュールが提供されていますが,Matlabグラフィックス環境に似せたことができるPylabなるものが存在します.PYTHON特有の使い方を習得できれば, Numeric, SciPyがあることだしMatlabが必要なくなるかも.これでより簡単に綺麗に図が描けます. 配布元: http://matplotlib.sourceforge.net/ 約1ヶ月前からPYTHONを使いはじめ, GPIB経由の計測制御コードを書き, グラフィックスにはGnuplotを使っていました.Gnuplotのクラシックな感じが大好きで, Tgif + Gnuplot + LaTeXのトリオは生活必需品といえます.ついでにOctaveも.が, 絵的な美的さを求めるとMatlabのグラフィックス環境が勝っています. インストールはソースをダウンロードしてuntar後,
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
0. Python の気になる機能 Python チュートリアル の目次をざっと眺め、目にとまったのは次の二つの機能。 5.1.4 リストの内包表記 9.9 ジェネレータ (generator) 両方とも耳馴れない言葉。 (@_@) まずは、リストの内包表記から調べることに。 1. リスト内包表記の基本 a. リストの各要素に関数を適用する 最初は、リスト内包表記の使い方を確認する。例として、「数値のリストの各要素を 2 倍する」 print [x*2 for x in [1,2,3,4,5]] 初めて見たとき、どこから読めばいいのか検討がつかなかった。 読む順番は、 for によって、各要素を取り出し、 各々に対して、操作を加える。 というように、後ろから前へと読み進める。 b. リストの各要素から、条件にあったものを抽出する 次に、同じく数値のリストから、特定の条件に合う要素を抽出す
cmath — Mathematical functions for complex numbers¶ This module provides access to mathematical functions for complex numbers. The functions in this module accept integers, floating-point numbers or complex numbers as arguments. They will also accept any Python object that has either a __complex__() or a __float__() method: these methods are used to convert the object to a complex or floating-poin
CSV ファイルの読み込み 戻り値 array型>>> data = loadtxt("test1.csv",delimiter=",") 列0から列2の取り出し >>> col_a, col_b, col_c = data[:,0], data[0:,1], data[:,2] 行0の取り出し>>> row_1 = data[0,:] array型からlistに変換>>> row_1array([ 1., 2., 3.]) >>> list_1 = row_1.tolist()>>> list_1[1.0, 2.0, 3.0] listからarray型に変換>>> array(list_1)array([ 1., 2., 3.])
作成 >>> list = ["a", "b", "c", "d", "e"] >>> list ['a', 'b', 'c', 'd', 'e'] 取り出し >>> list = ["a", "b", "c", "d", "e"] # n番目の要素を取り出す >>> list[0] 'a' # インデクスが負の数だと後ろから数える >>> list[-1] 'e' # 範囲外のインデクスを指定するとエラー >>> list[10] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range # n番目からm-1番目の要素を取り出す >>> list[1:4] ['b', 'c', 'd'] # 始点を省略すると0番目から >>> lis
numpy.fromfile# numpy.fromfile(file, dtype=float, count=-1, sep='', offset=0, *, like=None)# Construct an array from data in a text or binary file. A highly efficient way of reading binary data with a known data-type, as well as parsing simply formatted text files. Data written using the tofile method can be read using this function. Parameters: filefile or str or PathOpen file object or filename.
配列を操作する from numpy import * # 配列の作成 a = array([1,2,3]) b = array((10,11,12) # 配列の加算 結果:array([11,13,15]) a + b # 配列のデータ型を確認 結果:dtype('<i4') a.dtype # 配列の割り算 結果:array([0,0,1]) a/3 # データ型を指定して、配列の作成 a = array([1,2,3], dtype=float) # 配列版range関数 ,arangeを使用して、配列作成 data = array([0.5, 1.2, 2.2, 3.4, 3.5, 3.4, 3.4, 3.4], float) t = arange(len(data), dtype='float') * 2*pi/(len(data)-1) # すべての配列を出力する。 t[:]
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く