python勉強記録

Python,Matlab,VBA主に自分用の備忘録

plotlyできれいなグラフを作るplotly-go

import plotly.graph_objects as go #Figureオブジェクト作成fig = go.Figure() #traceを作成trace1 = go.Scatter(x=[1, 2, 3, 4], y=[1, 4, 9, 16]) #traceをFigureに追加fig.add_trace(trace1) #レイアウトの設定fig.update_layout(title='グラフのタイト…

outlookを操作 メール送信画面の表示

import win32com.client outlook = win32com.client.Dispatch("Outlook.Application") mail = outlook.CreateItem(0) mail.to = ''mail.cc = ''mail.bcc = ''mail.subject = ''mail.bodyFormat = 1mail.body = ''''''mail.Attachments.Add ("C:\\Users\\---\…

f文字列

import math val=700val2=4000 print(f"私の戦闘力は{val}です")print(f"円周率は{math.pi: .10f}")print(f"変数は{val2=}") 使いそうなものを3つピックアップ。 基本が一個目 :で書式を指示できる .10fは小数点以下10桁の意味 「変数=」と書くと val=1000…

javaのhello world

サンプルコード public class ConcatSample1 { static public void main(String args[]){ String str1 = "文字列1"; String str2 = "文字列2"; String str = str1 + str2; System.out.println("+演算子による文字列の連結 -> " + str); } } メイン関数があ…

lambda式

lambda 変数 : 関数 lambda x.y : f(x,y) 無名関数を定義する func = lambda x: x+x y=func(2)print(y) a=[2,3,4] z=list(map(lambda x:x+x, a))print(z) >>> 4[4, 6, 8] 簡単な関数ならこのように一行で定義できる。 ついでにmapの使い方としては map(関数 …

pythonでHDF5ファイルの読み込み

pip install h5py CSVよりも読み込みの速いファイル形式HDF5 ANACONDAなら初めから入っている

for文を逆に回す

reversed()関数を使う enumerate()関数との合わせ技も可能 しかしどちらもリストを引数にしてgeneratorを返り値にする点に注意する。 x = ["my", "unlimited", "sadness"]for i in reversed(x): print(i) x = ["my", "unlimited", "sadness"]for i, e in rev…

配列の要素から文字列検索

普通のやり方 str_match = [s for s in my_list if "ack" in s]print(str_match) __contains__を使ったやり方 str_match = [s for s in my_list if s.__contains__("ack")]print(str_match) 文字列が持つ特殊メソッド 文字列.__contains__("検索したい文字列)…

辞書の操作

リスト二つからzipを使って生成できる a=["john","tanaka","hanako"]b=[132,23,23] di=dict(zip(a,b)) print(di) >>> {'john': 132, 'tanaka': 23, 'hanako': 23} for文と辞書に関して 辞書のテンプレ。keyは文字列 d = {'key1': 1, 'key2': 2, 'key3': 3}fo…

Rubyのクラス変数とインスタンス変数

class Greeting def setName(name = "Ruby") @name = name #引数をインスタンス変数@nameに設定 end def hello print "Hello ", @name,"\n" #変数@nameは他のメソッドからでも参照可能 end end g1 = Greeting.new #オブジェクトg1を生成 g1.setName("Taro") …

Rubyでコンストラクタ

class MyClass def initialize puts "init" end end def initializeと書く

Rubyでインスタンスメソッド生成

class MyClass2 def method_a puts "method_a" end def method_b method_a endend my_instance = MyClass2.new()my_instance.method_amy_instance.method_b 普通のインスタンスメソッドのサンプルコード いちいちselfと書かない。使うときだけ書くらしい。 …

Rubyのfor文

FuzzBizz for i in 1..100 if i % 15 == 0 print "FizzBuzz\s" print "\n" elsif i % 5 == 0 print "Buzz\s" print "\n" elsif i % 3 == 0 print "Fizz\s" print "\n" else print i , "\s" print "\n" endend pythonとの比較 for i in までは同じ pythonの場…

MATLABクラス 銀行口座クラスの例

クラスの開発 - 一般的なワークフロー - MATLAB & Simulink - MathWorks 日本 methods function BA = BankAccount(AccountNumber, InitialBalance) BA.AccountNumber=AccountNumber BA.AccountBalance=InitialBalance BA.AccountListerner=AccountManager.ad…

Rubyでpycallを使ってpythonのライブラリを使用するときのtips

なぜかpyenvで入れたpythonをデフォルトにしているとできない。 rubyのほうはrbenvでインストールしたほうにしておくとできる。 まとめ pythonのほうはsystemにする rubyのほうはrbenvでインストールする。 pipでmatplotlibなど入れる

Ubuntuでpython環境構築

ubuntu 20.04 / 18.04 に pyenv をインストールする話 - Qiita ↑でpyenvを入れる。 このままだとpipが入っていないのでpipもインストールする。 pip: Python環境構築ガイド - python.jp

UbuntuでRuby環境構築

Ubuntu 20.04 に rbenv で Ruby 環境を整える最小手順 - Qiita ↑これをそのまま

UbuntuでVisual Studio Code(VS Code)をインストール

簡単な方法がある。 UbuntuにVSCodeをインストールする3つの方法 - Qiita これの二つ目 sudo snap install --classic code で終わり

Virtual Boxの導入

VirtualBoxを使ってみよう! - YouTube 参考にした動画 基本的に次へを押していくだけ。 適当な場所にLinuxのisoファイルを置いておいて、「ディスクイメージファイルの読み込み」を探して読み込ませる。 LINUXが立ち上がったら、「インストールする」を選ん…

クラスの継承 コンストラクタの再利用

class A: def __init__(self): self.a = 100 class B: def __init__(self): self.b = 200 class C(A, B): def __init__(self): A.__init__(self) B.__init__(self) print("a + b = ", self.a + self.b) c = C() # => a + b = 300 クラス継承の時 super().__i…

MATLABスクリプト解読-3

search_name2 = sprintf('%s.mat',search_name); これもまたsprintfで文字列結合して変数に渡している使い方 load([pathname,Files(1).name])

MATLABスクリプト解読-2

earch_name2 = sprintf('%s.mat',search_name); sprintfは変数にも出力できる。というのを使っている。 search_name = '20D*'; [filename,pathname] = uigetfile(search_name2, 'Select Oshiro mat file');Files = dir([pathname,search_name2]); uigetfile…

MATLABスクリプト解読

clear all;close all; 最初のおまじない Tkinterのaskdirectoryに相当 uigetfile() [filename,pathname] = uigetfile('*000.csv', 'Select Oshiro csv file'); ディレクトリ内のファイルの一覧をリストに格納 dir() Files = dir([pathname,'*000.csv']); for…

ディレクトリを聞く(ミニマム)

fTyp = [("", "*")]iDir = os.path.abspath(os.path.dirname(__file__))file_name = tkinter.filedialog.askopenfilename(filetypes=fTyp, initialdir=iDir)

matplotlibで横線を引く

ax1.hlines(mean_1,0,20)ax1.hlines(sen_1_left,0,20)ax1.hlines(sen_1_right,0,20)ax2.hlines(mean_2,0,20)ax2.hlines(sen_2_left,0,20) ax2.hlines(sen_2_right,0,20) horizonの略 vlinesもある hlines(y座標,x_min,x_max)の引数

matplotlibで縦線を引く

ax1.axvline(x=sen_1_left , color="blue", label="meam±3sigma")ax1.axvline(x=sen_1_right , color="blue")ax2.axvline(x=sen_2_left , color="orange", label="meam±3sigma")ax2.axvline(x=sen_2_right , color="orange")

matplotlibテンプレ

# -*- coding: utf-8 -*- import matplotlib.pyplot as pltimport pandas as pdimport csvimport seaborn as sns sns.set_style("white")sns.set_style("ticks")sns.set_style({"xtick.direction": "in","ytick.direction": "in"}) #plt.rcParams['font.fami…

python3.10の不具合

エラー内容 pipでNumpyがインストールできない。 解決策 デフォルトpythonを3.9にしたら直った。 visualstudiocodeの左下のpython3.9とか書いてあるところをクリックするとpythonの選択ができる。 ANACONDAとの共存 ANACONDAをインストールするときにPATHを…

pandasでdfの行や列を取り出す

列 x=df.iloc[:,0]y=df.iloc[:,1] 行 y=df.iloc[1] 注意すべきはMATLABと違うところ。 行の場合はセミコロンがいらない。

サビツキゴレイフィルタ(savgol)

def savgol(y,n):#サビツキ-ゴレイフィルタ signed_y = signal.savgol_filter(y, n, 7, mode="mirror") return signed_y 結構お世話になっているフィルタ。 窓の長さは奇数にしないといけない。 参考にしたブログではデータ数/4 +1としていた。 n=len(list) …