雑多な技術系メモ

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

python

【Django】ForeignKeyについてのメモ

1対多で使う。 以下のサイトがわかりやすい https://noumenon-th.net/programming/2019/12/02/foreignkey/

【Python】arg, kwargsについて

arg arg:タプル形式で引数が与えられる In [1]: def arg_sample(*args): ...: print(args) ...: print(type(args)) ...: In [2]: arg_sample(1,4,2,3) (1, 4, 2, 3) <class 'tuple'> kwargs dict形式で引数を受け取る In [14]: def kwargs_sample(**kwargs): ...: print(kwa</class>…

ModuleNotFoundError: No module named 'apscheduler.scheduler'

aspchedulerが新しすぎると起こるみたい。 なので、 pip uninstall apscheduler pip install apscheduler==2.1.2

Pillow で画像をグレー(灰色)に

まず元の画像 >>> img = Image.open("./crowncat4020138_TP_V.jpg") >>> plt.imshow(img) <matplotlib.image.AxesImage at 0x7f62e821bac8> グレーにする >>> img_gray = img.convert("LA") >>> plt.imshow(img_gray) <matplotlib.image.AxesImage at 0x7f62e8043160></matplotlib.image.axesimage></matplotlib.image.axesimage>

Scikit-learnのirisデータセットをpandasで扱う

ありがたいことに、stack overflowで回答されている方がいた。 以下irisデータセットをpandasに変換するコード import numpy as np import pandas as pd from sklearn.datasets import load_iris # save load_iris() sklearn dataset to iris # if you'd lik…

pythonのデコレータのサンプルコードのメモ

class Sample: def __init__(self): self.__value = 0 @property def value(self): return self.__value @value.setter def value(self, value1): self.__value = value1 sample = Sample() print(sample.value) #=> 0 sample.value = 10 print(sample.value…

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についてのメモ

dateのstringのformatの変換 ローカルでの現在の時間に関するdatetimeを返す 現在の時刻をisoformat(文字列)で取得する datetimeの月や時刻等を個別に取得する 参考文献 dateのstringのformatの変換 import datetime d1 = datetime.datetime.strptime("2013-…

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の基礎構文についてのメモ

pip その他 env active deactivate requirements oandapy関連 取得したデータの時間の成形 json データの書き込み データの読み込み 文字列関連 replace():文字の入れ替えと削除 pip update pip install -U pymongo バージョン指定 pip install pymongo==2.6…

内包表記についてのメモ

基本的な使い方 [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>

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)