雑多な技術系メモ

自分用のメモ。内容は保証しません。よろしくお願いします。

python

tkinterについてのメモ

tkinter とりあえず動かす tkinter pythonで簡単にguiアプリが作れるライブラリ とりあえず動かす ボタンが1つついているアプリが起動する import tkinter root = tkinter.Tk() root.geometry("300x200") # サイズの指定 root.title("test") # タイトルの設…

【python】引数を設定するargparseについてのメモ

引数を渡す最も単純な例 参考文献 引数を渡す最も単純な例 以下のファイルをtest.pyとして import argparse parser = argparse.ArgumentParser() parser.add_argument("test", nargs="+") args = parser.parse_args() print(args.test) 試しいくつか引数を設…

現在の時刻等を扱うdatetime.datetimeについてのメモ

ローカルでの現在の時間に関するdatetimeを返す 現在の時刻をisoformat(文字列)で取得する datetimeの月や時刻等を個別に取得する 参考文献 ローカルでの現在の時間に関するdatetimeを返す In [1]: from datetime import datetime In [5]: datetime.today() …

os.pathについてのメモ

ファイルが存在するかの確認 os.path.exists pathを繋げる os.path.join 参考文献 ファイルが存在するかの確認 os.path.exists In [24]: os.path.exists("./test.txt") # ファイルが存在する場合 Out[24]: True In [25]: os.path.exists("./test2.txt") # フ…

pythonの基礎構文についてのメモ

os.pathについてのメモ 現在の時刻等を扱うdatetime.datetimeについてのメモ 引数を設定するargparseについてのメモ

内包表記についてのメモ

基本的な使い方 [i for i in range(10) if i % 2 == 0] #=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 内包表記内でif文を使う [i for i in range(10) if i % 2 == 0] #=> [0, 2, 4, 6, 8]

【matplotlib, scipy】How to plot normal distribution by python

The code to plot above graph. import numpy as np import matplotlib.pyplot as plt import scipy.stats mean = 50 std = 10 x = np.linspace(0,100,100) y = scipy.stats.norm.pdf(x,mean,std) plt.plot(x,y) plt.show()

【matplotlib, scipy】pythonで正規分布をプロットする

上記の画像を出力するコード import numpy as np import matplotlib.pyplot as plt import scipy.stats mean = 50 std = 10 x = np.linspace(0,100,100) y = scipy.stats.norm.pdf(x,mean,std) plt.plot(x,y) plt.show()

【matplotlib】Remove all graphs

The code how to remove all graphs plotted import matplotlib.pyplot as plt ...... plt.gca().clear()

【matplotlib】グラフの全削除

表示されているグラフの削除 import matplotlib.pyplot as plt 省略 plt.gca().clear()

【matplotlib】y軸の指数表記を解除する

y軸が指数表記になってしまう際の解除法 ax.get_yaxis().get_major_formatter().set_useOffset(False)

【ajax, flask】flaskのアプリケーションでajax通信を行うサンプル

ajax通信でget送信をし、結果を受け取る簡単なサンプルコードを紹介します。 ディレクトリ構成は以下のようになってます。 (javascriptのファイルはhtmlに書いちゃってます) ├── app.py └── templates └── index.html html まずhtml側のコード。 <html> <head> <meta charset="utf-8"> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>…</meta></head></html>

【matplotlib】x軸のラベルの表示間隔の変更

x軸のラベルが多すぎて、重なってしまう際の対処方法についてお話します。 元のグラフ x軸の表示する目盛りを変更したグラフ 元のグラフ まず以下のコードで、元のx軸が重なってしまっているコードを表示します。 import matplotlib.pyplot as plt xs = ["AA…

【flask, javascript】flaskからhtml, javascriptに変数を渡す

python側のコード。 単純にxという変数を渡すだけ from flask import * @app.route("/", methods=["GET", "POST"]) def index(): x = 10 return render_template("index.html",x=x) flask からhtml flaskから受け取ったxを取得する {{x}} flaskからjavascrip…

pybox2dをUbuntuにインストール

まず必要なライブラリをインストールする sudo apt-get install build-essential python-dev swig python-pygame git pybox2dをクローン git clone https://github.com/pybox2d/pybox2d cd pybox2d 最後にbuildし、インストールする python setup.py build p…

指定した確率分布に従って乱数を生成する

サンプルコード import numpy as np values = ["high", "low"] # 確率変数 p = [0.9, 0.1] # 確率分布 np.random.choice(values, p=p) # 指定した確率分布に従って乱数を生成

pandasで指数平滑移動平均

以下サンプルコード import pandas as pd data = [0,2,4,6,8,10] df = pd.DataFrame(data) ema = df.ewm(span=3).mean() # 指数平滑移動平均を求める print(ema) # => # 0 # 0 0.000000 # 1 1.333333 # 2 2.857143 # 3 4.533333 # 4 6.322581 # 5 8.190476 …

python 文字列のドット以降の削除

正規表現を用いて削除してみる 以下サンプルコード。元文字 「test.xxx」のドット以降を削除する import re st = "test.xxx" # 元の文字列 new_st = e.sub(r'\..+$', '',files[0]) # ドット以降削除 print(new_st) # 変換後の文字列の出力 # => test

ipythonで過去の入力履歴を見る

以下サンプルコード In [1]: a = 1 In [2]: print(a) # => 1 In [3]: %history # 履歴出力 # => # a = 1 # print(a) # %history

open ai gymの行動空間の最大値、最小値の取得

サンプルコード import gym env = gym.make("MountainCarContinuous-v0") # 環境の読み込み env.reset() print(env.action_space.high) # 最大値 # => [1.] print(env.action_space.low) # 最小値 # => [-1.]

【python】keys, valuesを配列に

よく忘れるので、サンプルコードを上げておきます sample_dict = {"a":1, "b":2, "c":3} print(sample_dict) # => {'a': 1, 'b': 2, 'c': 3} # keysを配列に listed_keys = list(sample_dict.keys()) print(listed_keys) # -> ['a', 'b', 'c'] # valuesを配…

【python】同じディレクトリ内で変数を共有

恐らく良い方法ではないが、一応使えるので。 同じディレクトリにvars.pyという変数のファイルを用意し、以下のように記述されてるとする var1 = "var1" 同じディレクトリにmain.pyという以下のコードを作成し、そこからvars.pyの変数を取得 import vars pri…

【pandas】最後の行の削除

以下サンプルコード In [10]: df = pd.DataFrame({'A': [1.0, 1.2, 4.1], ...: 'B': [0.9, 1.5, 4.2], ...: 'C': [1.0, 1.4, 3.8]}) In [11]: df Out[11]: A B C 0 1.0 0.9 1.0 1 1.2 1.5 1.4 2 4.1 4.2 3.8 In [12]: last_index = df.index[-1] In [13]: df…

pandasのto_csvのindex

pandasのデータをcsv形式にして保存するときに、 indexを含めないようにする方法。 以下のように、 index引数をFalseにすれば良い。 df.to_csv("test.csv", index=False)

pandasで最後の行を取り出す

tailメソッドを用いる。 引数に先頭から何番目の要素を取り出すかを指定する df.tail(1)

pandasで最初の行を取り出す

headメソッドを用いれば良い。 引数に先頭から何番目の要素かを指定 df.head(1)

firebaseでデプロイする際のエラーと対処

エラー === Deploying to 'test'... i deploying functions, hosting i functions: ensuring necessary APIs are enabled... ✔ functions: all necessary APIs are enabled i functions: preparing functions directory for uploading... Error: Error parsi…

ipythonの初期読み込みファイル

ipythonを起動したら自動的に読み込んでくれるファイルの場所は ~/.ipython/profile_default/startup/00-test.pyといった形で書く。 辞書順に読み込むため、番号で管理するとわかりやすい 例えば、test.py import sys, os import readline import json impor…

matplotlibで凡例をグラフ外の右上に出す

サンプルコード 省略 plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0) # 右上に出す plt.subplots_adjust(left = 0.1, right = 0.7) # ここで、図がキャンバス内に収まるように調整する

pythonのElementTree(xmlファイル)で編集して、きれいに(改行をうまくして)保存する方法

サンプルコード from xml.dom import minidom 省略 xmlstr = minidom.parseString(ET.tostring(root)).toprettyxml(indent=" ") with open("xml.xml", "w") as f: f.write(xmlstr) 参考 https://stackoverflow.com/questions/28813876/how-do-i-get-pythons-…