Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

python

【python3】数字をprintするときに、formatを使って文字数が揃うように調整する方法

qiita.comqiita.com この辺りが参考になる print('{:<15} {:>6}'.format(hoge, hogehoge)) みたいにして、数字の文字数に揃うように調整してくれる ランキング参加中です ↓クリックしていただけると嬉しいです〜ランキング参加中Python ランキング参加中HTML…

【python3, numpy】バイナリファイルをloadしたときに、

numpyでバイナリを読み込んだときに以下のようなエラーが出た ValueError: Object arrays cannot be loaded when allow_pickle=False 調べてみたらnumpy v1.16.3 より、numpy.load()関数の挙動が変更されたらしい デフォルトで、allow_pickle=Falseになって…

【Django2, python3】Djangoテンプレート言語入りのhtmlでコメントアウトを使う

opendata-web.siteDjangoのテンプレートhtmlでコメントアウトを使うときは少し気をつける必要がある {% comment "下記の部分は一時的にコメントアウト" %} ここはコメントアウトされる {% endcomment %}みたいにすればOK {# コメントアウト非表示部分 #}でコ…

【Django2, python3】静的なファイル(画像)をアプリで表示したい

(元記事 2021/07/06)最近、Djangoというのを使ってwebアプリを作ってる(一から作ってるわけではなくて、他の人のを引き継いでやってる感じ)なので、Djangoの基本を知らずにやってるのでかなり苦労してる・・・ 公式ドキュメントは充実してるが、自分がやりた…

【雑記】各環境でのplotを行うコマンドの名称

特に意味はありません 特にRを使う予定もございません 暇ではありません 各環境でのplotを行うコマンドの名称を簡単にまとめる かんたんのために2次元plotに話を限る Mathematica linear - linear : Plot log x - linear : LogLinearPlot linear - log y : L…

【python3】文字列やファイル名から空白を消す

ファイル名やPATHの名前に空白が入っていると何かと都合が悪い・・・ ファイル名に入っているすべての空白を消したい時 そういうときは、replaceで空白を置換してしまえばいい fname = fname.replace(' ', '') 先頭の空白を消したい時 fname = fname.lstrip(…

【python】jsonファイルを保存するときに、keyの順番を名前順にする方法

json.dumps({"c": 0, "b": 0, "a": 0}, sort_keys=True) みたいな感じでsort_keys=Trueをつければ、辞書型のkeyを名前順にソートしてからjsonとして保存してくれるjson --- JSON エンコーダおよびデコーダ — Python 3.7.17 ドキュメント ただ、自分的には、…

【python3.7】jsonを読み込む時の要素の順番について

jsonで読み込むと、辞書型として読み込まれるっぽい 辞書型は順番は変わる可能性があるただ、python3.7以降は、jsonファイルの中身の順番通りに読み込まれるように仕様が変わったらしいyohhoy.hatenadiary.jppython jsonモジュールの覚え書き データの取得、…

【python3】TypeError: must be real number, not strというエラーが出た

message="%f_%.5f_%s" % (1, 2, "aaa") みたいなことをすると、これは文字列ではなくて数字でないといけない!とエラーが出た気がするただ、そのときのコードが残ってなくて再現できない・・・結局、↑のような書き方をやめた message = str(1) + "_" + strt(…

【python3】文字列をハッシュ化する

参考 qiita.com ハッシュ化の本来の用途は、暗号関係だと思う今回は、文字列が変わったときに、より短い文字列を得られるような仕組みに活用した 文字列というのは、実際はシミュレーションのパラメーターのようなもので、これがかなり長い・・・ なので、ハ…

【python3】プロセスの実行状況をプログレスバーで表示したい時

色々とあるっぽい自分が今回知ったのはtqdmというパッケージと関数 qiita.com from tqdm import tqdm import time for i in tqdm(range(100)): 使い方もシンプル for文をtqdmをつけて回せばいいだけ 参考 zenn.dev qiita.comランキングに参加中、クリックに…

【python3】numpy arrayが2次元リストか1次元のリストか判定したい

dataというnumpy arrayがあったとして、それが2次元リストか1次元リストか知りたい # 1次元だけの空のarray data = [] # 1次元のarray data = [1, 2, 3] # 2次元のarray data = [[1, 2, 3], [4, 5, 6]] これらを区別したい - そのために len(data) data.shap…

【python3】ファイルサイズが0かどうか(ファイルの中身が空かどうか)を判定したい

ググったら色々とあるっぽいが、一番シンプルなのをメモ import os os.path.getsize('hoge.txt') これでファイルサイズがわかるので、これが0かどうかを判定して分岐すれば良いと思う ランキングに参加中、クリックにご協力お願いします!ランキング参加中Py…

【python3】pythonの中からシェルコマンドでsedで置換したいとき

pythonで、あるファイルの中身を書き換えることをあれこれやっていたググるとwith openとかで一度ファイルを開いて ファイルの中身を書き換えて、もう一度書き出すみたいなことをしている記事がとても多いそれを真似してやってみると、なぜか修正後のファイ…

【python3】シンボリックリンクを貼りたいとき

osモジュールを使う import os os.symlink("hoge_v3.txt", "hoge.txt") これで、hoge.txt から hoge_sym.txt へのシンボリックリンクが貼れる使い道としては、 hoge_v2.txtとかhoge_v3.txtのようにversionが何個もあるファイルがあるときに それの最新版をho…

【エンジニア雑記】「5年分のツケを一気に払った話」を読んだ感想

speakerdeck.comXか何かで回ってきたので目について読んでみた自分ではない誰か(若手とかシニアかも)が書いて現状うまく動いてる(ように見える)コードを修正するのは大変だよね、というお話python自身や関連パッケージは常にアップデートされていくので、あ…

【python3】JSONを読み書きしたい

pythonで解析をして、それのログファイルを残したい 単純なログファイルなら、必要な情報を書いてテキストファイルにしておけば良い今回はそのログファイルをwebページ(html+javascript)で読み込んで、ページに要素として並べたいなので、ログファイルの形式…

【python3, pandas】csvで条件を満たす行を修正 + ある行をファイル末尾にコピーして追記

pythonのpandasでcsvを開いて、条件を満たす行に加工をする + ある行をファイル末尾にコピーして追記したいpandasというのを使うのは初めてだった ・勝手にindexという列ができていたり、そのindexは加工不可だったりで色々と大変だった・・・ ・astropyの単…

【python3, datetime】datetime型同士で比較をしたい時

そのまま、不等号とかで大小の比較ができる from datetime import datetime date_beg = datetime(2023, 8, 20) date_end = datetime(2023, 8, 28) if date_beg < date_end: print("True") みたいな感じランキングに参加中、クリックにご協力お願いします!ラ…

【python3, matplotlib】プロットのx軸を日付にしたい + 日付データをcsvから読み込む

まずはcsvから日付の部分を読み込む 日付データは 2022/03/28 というフォーマットになっている これをdatetime型で読み込めば良さそうだけど、他の部分が実数で読み込まないといけないのでこういう実装にしてるデータを読み込んで文字列にする ↓ / を - に置…

【python3】datetime型で日時だけを取り出したいとき

datetime型の変数 d があるとして、そこから、日時だけを取り出したいとき 返り値は文字列なので注意 base_dir = "/home/hogehoge/public_html/hoge/%s/" % (d.strftime("%Y%m%d")) 関係してそうな記事 Pythonのdatetimeで日付や時間と文字列を変換(strftim…

【python3, datetime】任意の形式でdatetimeを出力したい + UTCから日本時間(JST)に変換したい + 1日前の日付にしたい

cgiからpythonを動かして色々とやるツールを少し前からちょこちょこ作ってる その中で不特定多数のユーザーが走らせたコマンドを記録したくなった いつ走らせたか、どんなオプションを使ったか これをログに残しておくそこで走らせた日付を知りたい Pythonの…

【python3】ディレクトリを作るコマンド

Pythonでディレクトリ(フォルダ)を作成するmkdir, makedirs | note.nkmk.meosパッケージを使う import os os.mkdirに作るディレクトリ名を渡せばOK 再起的に、ディレクトリは作ってくれない new_dir_path = 'data/temp/new-dir' os.mkdir(new_dir_path) 再…

【python3, subplot】を使って複数プロットする例 + gridを入れたい

適当にグラフを書きたい時はsubplotsよりもsubplotのほうが簡単に使えそうな気がする・・・・■ 参考 : subplot? add_subplot? subplots?■ 参考 : matplotlibの描画の基本 - figやらaxesやらがよくわからなくなった人向け from matplotlib import pyplot as p…

【matplotlib】subplotsを使った複数プロットの例

この例で使ったのは、8個のデータが別のkeyでdataという辞書型に入ってる nはデータの数 プロットは8個のデータをsubplotsで並べてプロットする縦に8個並べるんじゃなくて、2x4で自動的に折り返す感じ 数字を変えたら、他のパターンも可能q_1p, q_99p = np.p…

【python3】文字列の最後の3文字がキーワードと一致するなら、そこを取り除く

文字列の最後の3文字の取り出し方 hoge="123456ABC" hoge[-3:] とすると、'ABC'が返ってくる 最後3文字がABCと一致する場合にはABCを取り除いた文字列に処理をしたい時は・・・ if hoge[-3:] == "ABC": # hoge[:-3]に対するなんかの処理 hoge[:-3] で後ろの3…

【matplotlib】 TypeError: 'AxesSubplot' object is not subscriptableというエラーの解決方法

自分の場合、subplotsで1つの画像を分割してプロットしてた 分割数はデータの数によって決まる、例えばnとして n=1としてsubplotsを分割すると fig, ax = plt.subplots(1) このときに、ax[0].plot(x, y)のようにして書くとこのエラーが起こる しょうがないの…

【matplotlib】tickの数や間隔を手で与えずに調整したい

リストで渡すとかめんどくさいんですけど、自動調整とかそんなことができるのか・・・? と思っていたができるっぽい matplotlibの公式ドキュメントがわかりやすいので貼っておきます Tick locators — Matplotlib 3.4.3 documentation # Multiple Locatorset…

【python3】global(グローバル)変数を関数の中から変更する

関数の外で定義した変数を、関数の中でいじったら関数外の変数の値も変わると思ってたがそうではないらしい・・・・ 関数の外で定義した変数はグローバル変数と呼ばれるそれを関数内で呼び出すときは、global hogeみたいな感じで頭にglobalをつければOK 関数…

【python3】文字列を関数または式として実行する

evalとexecというのが見けた execはそのまま式が実行される evalは式を評価する、その返り値は取り出せる func="1+1" a = eval(func) func="x=5" exec(func) みたいな感じ aには1+1の結果の2が代入されてる execで実行されたので、xには5が代入されてる