カテゴリー:Pyhon

2/3ページ

【Python】ライブラリをインストールせずにメモリ使用量を追跡する(Python3.4以上)

対応バージョン Python3.4以上 Pythonでメモリ使用量を追跡したかった それなりに重いデータをいじろうとすると、メモリの使用量が気になる事が多々あります。 秒単位で計測することはLinuxコマンドで比較的簡単に出来ますが、具体的にどの処理の後にメモリの使用量が増えているかを知りたく、Pythonの関数化してみました。 標準モジュールでのメモリ追跡の方法 tracemalloc という標 […]

  • 2019.12.04

【Python】ダミー変数化されたデータを1列に戻す

  やりたいこと ダミー変数化されたデータを1列に戻したかった。 数十行にも及ぶ被りのないフラグデータをそのまま持っているとかままあると思うのですが、見づらいし扱いづらいという状態でした。 理由 ダミー変数化されたデータとされていないデータが混在している中で、処理を分岐させたくなかったのでデータを変形させることにした。 かなり使い道少なさそうですが… 機械学習とかでフラグが別カラムについ […]

【Python】実際に見たちょっとあれなコード達と改善案

自戒も込めて書き記していきます。そして世の中にいいコードがたくさん生まれますように。 実際の製品の中でも速度に大きく問題があるようなコードが動いていることも良くあるので、やはり勉強は大切だし差別化にもなりますよね… 見つける度に追加していきます… listじゃなくてsetで比較するのだ setは被りなく順序なく、要素を格納してくれる機能です。(setの紹介はこちら) なのに何故要素に順序がある前提 […]

【Python・NumPy】初期設定だと0除算でも例外が発生しない話

Numpyでは0除算は無限大として処理される Pythonのみで記載している場合は、例外:ZeroDivisionErrorが発生します。 しかし、NumPyを使用した際には、下記のように値が返されます。 0以外の値は0で除算した際は、inf(無限大) 0を0で除算した際はnan(定義できないため非数を返却) [crayon-5e87ff2b26af2840589043/] うっかり高速化だ!とか […]

【Python】巨大なファイル(ログ・csv等)を分割して圧縮する

やりたいこと 間違ってor仕方なく巨大なデータが存在する場合ってありますよね。 渡しの場合は巨大な過去のデータ(数十GB)をWebAPI経由で取得していたのですが、本来は日付単位でファイルを分割しようとしていたのに、スクリプトを間違えて全部同じファイルに出力してしまっていました。 そこで困ったのが、ディスク容量がやばいので圧縮しようとしたところ、巨大なファイルを圧縮しようとしているせいで、PCの空 […]

【Python・Django】Django REST frameworkで同一URLでrenderer_classesを動的に変更する方法

環境 Django1.1 Django REST framework3.5 やりたかったこと Django REST frameworkを使っている中で、GETリクエストの場合はjsonを返却し、postリクエストの場合はcsvを返却するという処理を実装したかった。 renderer_classesの変更方法 内部で使用されている、get_renderersをオーバーライドしてあげればokです。 […]

【Python・Django】中間テーブルのプライマリキーを後からID→UUIDに変更したい

環境 Python:3.6 Django:2.1 やりたいこと Djangoを使って開発を行っていましたが、最初は中間テーブルのプライマリキーをデフォルトのIDで使っていたものの、セキュリティ上の懸念に後から気がつき、変更ID→UUIDに変更したくなってしまった。 開発環境ではDB作り直せばよいのですが、せっかくなので消さずに修正を行ってみました。 ※UUIDは確率論的に重複することのないランダム […]

【Pyhon・Django】JsonFieldでデータベース上に日本語の文字を登録したい

環境 ・Django 1.10 ・Python 3.4 やりたいこと DjangoというかPostgreSQLでは、JSON Fieldという、Jsonを格納できる型が用意されています。 (なお、Djangoでは1.9以降で対応されているようです。) 単なる文字列ではなく、構造化したデータを持つことが出来るのでユーザー登録情報などある程度情報に柔軟性をもたせたい場合にしようする項目です。 しかし、 […]

【Python】set型の基本と、死ぬほど遅い「hoge in list」からの脱却

set型とは 公式ドキュメントより 公式ドキュメントには以下のような記載があります。 set オブジェクトは、固有の hashable オブジェクトの順序なしコレクションです。通常の用途には、帰属テスト、シーケンスからの重複除去、積集合、和集合、差集合、対称差 (排他的論理和) のような数学的演算の計算が含まれます。 集合は、他のコレクションと同様、 x in set, len(set), for […]