pythonで円周率を求めるアルゴリズム ○ライプニッツの方法 収束が遅い。 100万回計算して、6桁くらい。 pi4 = 0 for i in range(1000000): pi4 += (1 / (i * 4 + 1) - 1 / (i * 4 + 3)) print(pi4 * 4) # 3.141592153589902 ○区分求積を使う。 収束が速い。 …
pythonの集合型setの使い方について。 ・重複のない配列。 ・順序がないのでs[1]のようなインデックス指定ができない。 ・inメソッドによる検索が高速 ○生成 # coding: utf-8 s1 = set() # 空のset print(s1) # set() print(type(s1)) # <class 'set'> s2 = {1, 1, 2, 2, </class>…
少量のデータなら手打ちでいいですが、大量の表形式のデータをブログに書く手間を省きたいものです。ということで、サンプルです。 ○例1 百人一首のを収めたテキストファイルから、はてなブログ用の表組みを出力します。 ここのページにデータがあります。 …
pandasを利用したファイルの読み込みについて。 HTMLの表組み(TABLE)をDataFrameオブジェクトのリストで取得。 Definition : read_html(io, match='.+', flavor=None, header=None, index_col=None, skiprows=None, attrs=None, parse_dates=False, tuplei…
pythonでファイルの読み書きです。 python3で外部ファイルを開くときはcodecsモジュールは不要です。 パスが通ったディレクトリにhyaku.txtがあることを前提にしています。 なければ、メモ帳などで適当に複数行の文字を書き込んだりで。 今回は百人一首を書…
python用のデータをファイルに保存する。 Python オブジェクトの直列化および直列化されたオブジェクトの復元。 バイナリ形式でpython固有のフォーマット。 長所: ・ほとんどの組み込み方やクラスも保存できる。 (lambda関数などはpickle化できない) ・型…
pandasライブラリの使い方。 pandasはSeries(1次元)とDataFrame(2次元)という2つのデータ構造を持つ。 今回はまずSeriesの使い方。 ○シリーズ(1次元配列)を作る。 import pandas as pd l = [3, 4, 5, 6, 7] series = pd.Series(l) print(series) # 0 3 # …
anacondaを使う人が多いようですが、私はWinpythonを使っています。 名前的にwindows向けな気がしただけで選びました。 パソコンは5年くらい前のVAIOで、OSはWindows7です。Winpythonはspyder、ライブラリも同梱でインストールも楽でした。 かなりの数のラ…
標準ライブラリのcollectionsには便利なデータ型があります。 namedtuple() タプル風 名前付きフィールドを持つタプルを作成するファクトリ関数 deque リスト風 両端における append や pop を高速に行えるリスト風のコンテナ ChainMap 辞書風 複数のマッピ…
htmlの構文解釈のライブラリです。 ○htmlの準備 # -*- coding: utf-8 -*- import urllib.request from bs4 import BeautifulSoup url = "http://python-remrin.hatenadiary.jp/" f = urllib.request.urlopen(url) html = f.read().decode('utf-8') soup = Be…
urllibはURLにアクセスするライブラリです。 urllibモジュールは、Python 3 で urllib.request, urllib.parse, urllib.error に分割されて名称変更されました。 ・urllib.request は URL を開いて読むためのモジュールです ・urllib.error は urllib.request…
・辞書型。マッピング型とも言う。 ・シーケンスに似ているが、順序なし。 ・key:valueのセットで辞書登録。key…識別子。indexがわりに使う。 ・keyでも、valueでも、key:valueでもiteration可能。 ・keyはimmutable(数値、タプル、文字列など)だが、valueは…
pythonのタプルについて・シーケンス型の1つ。 ・リストと似ているが、タプルはcount, index以外のメソッドがない。 ・リストは[]、タプルは()または括弧なし。 ・immutableな型で、値の変更ができない。 ・要素を変更できない。ソートもできない。 ・index…
matplotlibで棒グラフの描き方 Definition : bar(left, #それぞれの棒の左端の配列 height, #高さの配列 width=0.8, #棒の太さ bottom=None, #複数の棒グラフを積み上げるときの土台を示す。 hold=None, # data=None, # **kwargs) ○基本 import matplotlib.p…
python3の数値は整数(int型)、小数(float型)、複素数(complex型)の3つ。 論理型(bool型)も数値の1つと言える。(True=1, False=0) ○整数型 桁数は無限 16進数 先頭に0x 8進数 先頭に0o 2進数 先頭に0b(b:binary) ・int関数 文字列や小数を整数に直す関数…
matplotlibでヒストグラムを書く。Definition: hist(x, #データ。yなし。 bins=None, #bin(棒)の数。省略すると10 range=None, #binの表示範囲をタプルで。 normed=False, #Trueとすると正規化(合計値を1とする) weights=None, # cumulative=False, #True:累…
python記事の目次 python導入など ・pythonの導入とspyder ・pythonのバージョン ・ソースコードの貼り方 pythonの使い方 ・変数の型 ・数値 ・文字列操作 ・文字列の削除 ・日本語文字列操作(ひらがな判定など) ・リスト操作 ・タプル ・辞書型 dict ・集…
日本語の文字列の操作について。英字に比べて非常に扱いにくい印象です。文字列をソートしたり、ひらがな・カタカナ判定、ひらがな・カタカナ変換などを作ってみました。 # coding: utf-8 hiragana = "ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすず…
python3の変数の型について数値型:int, float, complexの3つ 論理型:bool 文字列型:str コンテナ型:list, tuple, dict, set シーケンス型:list, tuple, 文字列、rangeimmutable≒ハッシュ可能 int, str, tuple, frozenset整数変換 int()関数 小数変換 f…
python3での文字列の操作など ・シーケンス型の1つ。 ・シングルクオーテーション('abc')、ダブルクオーテーション("abc")のどちらでも。 ・シングルクオーテーションの中では「"」は文字として扱える。逆も。 ・immutableなのでs[2]="a"のような代入はでき…
pythonでの文字列の削除の方法 ○split() 区切り文字(delimiter)を区切りとして、文字列を分割しリストを返す。 maxsplit=1のように、オプションで最大分割回数を指定できる。 区切り文字を指定しないときは、空白文字で区切る。 その際、連続した空白文字は…
pythonのrange()の使い方python3では、rangeは0から始まり、指定値未満の連続整数を生成するジェネレータを返す。 要素を確認したいときはlist(range(3))などとする。 type(range(3)) #class 'range' range(3) #range(0, 3) range(3.5) #TypeError :小数は扱…
pythonのallとanyについて。 ○all(iterable) iterableがすべてTrueのときのみTrueを返す。 iterableが空(empty)のときはTrueを返す。○any(iterable) iterableが1つでもTrueを含むとTrueを返す。 iterableが空のときはFalseを返す。基本例 all([True, True, T…
pythonプログラムの動作テスト用です。 ○アンスコムのカルテット x1 y1 x2 y2 x3 y3 x4 y4 10.0 8.04 10.0 9.14 10.0 7.46 8.0 6.58 8.0 6.95 8.0 8.14 8.0 6.77 8.0 5.76 13.0 7.58 13.0 8.74 13.0 12.74 8.0 7.71 9.0 8.81 9.0 8.77 9.0 7.11 8.0 8.84 11.…
pythonプログラムの動作テスト用です。 import pandas as pd url = 'http://python-remrin.hatenadiary.jp/entry/2017/04/23/000000' ## DataFrameのリストを得る。header=0のオプション指定で、最初の行をheader扱い。 fetched = pd.io.html.read_html(url)…
pythonのlist型はよく使うのに覚えることがたくさん。 調べる手間を省きたいので備忘録です。 list型の概要 ・シーケンス型の一つで、iterable ・numpyのndarrayなどの配列と違い、バラバラなメモリに紐つけで末尾追加が可能。 ・要素(element)は数値に限ら…
計算結果をビジュアルで見るには、やはりグラフを描くのが一番ですね。 ということで、matplotlibの使い方を簡単に紹介します。 import matplotlib.pyplot as plt listx = [1, 2, 3, 4] listy = [1, 3, 4, 2] plt.plot(listx, listy) たったこれだけで、折れ…
pythonでクイックソートのアルゴリズムを考えてみた。
pythonで外接円の中心と半径を求めるプログラムを作ってみた
pythonを使うメリットの1つに豊富なモジュールがあります。 私が使ったモジュール、気になったモジュールです。(1)標準ライブラリ(python標準ライブラリ) モジュール 内容 math 数学関連 三角比、π、切り上げなど decimal 小数や大きな数の正確な計算 fr…