Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

0. はじめに 株式会社ディー・エヌ・エーに入社し,MLOps エンジニアをやっている @a5chin です. 本記事では,図 1 の様に VS Code の Dev Container 上に爆速で快適な Python 環境を構築することを目指します. 図 1: Dev Container 上で開発をすると Ruff による自動フォーマット[1]と pre-commit が走る 本記事の内容は全て上記リポジトリで簡単に試すことができるので,ぜひ clone して試して頂けたらと思います↑ Dockerfile 内で,Rye, uv, そして Ruff をインストールする手順を記述することで開発環境を標準化し,異なる環境間での一貫性を担保することができます. 0.1. 事前準備 本記事で作成したリポジトリを動かすためには,Docker Desktop と VS Code のダウンロード,VS
皆さんはPythonのpathlib使ってますか?私は非常によく使っています.例えば機械学習では学習の前に前処理を多く行うケースが非常に多いですが,このような時にpathlibを知っておくと便利です.pathlibは意外とPython 3.4(2014年~)からとそれなりに新しいため,古くからのPythonユーザーは os.pathの方をよく使っているかもしれません.ただpathlibは文字列ではなくPathクラスとして扱ってくれることで,例えばLinux/Windowsのパス表記の違いを吸収してくれたりします. pathlibとos.pathの比較は公式のpathlibドキュメントに譲るとして,私がよく使うpathlibのクラスを紹介します.また今回改めてドキュメントを眺めて知った便利関数も多いので,公式ドキュメントに目を通すのもオススメします. 今回は下記のような複数の素性の異なるデー
pyenv とか virtualenv を使いだしてだいぶ経つけど、メモ。 web 上の記事で、virtualenv と呼んでいるものが実は pyenv-virtualenv のことだった、というのがたびたびあって しばらく自分も勘違いしてました。 結局、最初に pyenv とか virtualenv の使い方を学ぶ時に参考にした こちらのサイトが一番わかりやすく、正確でした。 http://blog.ieknir.com/blog/pyenv-with-virtualenv/ pyenv https://github.com/yyuu/pyenv 1台のPC内で 異なるバージョンの Python を管理する ためのツール インストールは mac の場合 Homebrew から行うことができる $ brew install pyenv サンプル $ pyenv versions * 2.7
Go、Python、Kotlin、Rust、TypeScript の5つの言語について「並列処理、並行処理の手法」というテーマに絞り解説する「並列処理をGo/Rust/Kotlin/Python/JSで解説!思想の違いを体感しよう」。Python編では橘氏が登壇。Pythonで並列処理を行う際の設計方針と、実装上の癖について話します。 西川氏の自己紹介西川大亮氏(以下、西川):ここからはPython編の「ちょっとしたデータ分析の並列化」というタイトルで、西川から話します。 GOに勤める西川です。今やっているのは、タクシーやハイヤーの営業支援。「お客さんを乗っけていない時間、どこを走ったらいいの?」とか「どういうところで待っていたら注文来やすいの?」というところのナビをする、「お客様探索ナビ」というサービスのいろいろなことをしています。小さなサービスなのでいろいろやっている感じですね。 Py
1. データ分析の概要と目的 データ分析とは、大量のデータから有用な情報や知識を抽出するプロセスです。 このプロセスには、データの収集、前処理、探索、モデリング、評価、そして最終的な知識の抽出が含まれます。 データ分析の主な目的は以下の通りです ビジネスの意思決定をサポートする 新しい市場の機会を発見する 顧客の行動や傾向を理解する 製品やサービスの改善 予測や予測モデリングを行う 2. Pythonにおけるデータ分析のライブラリの紹介 Pythonはデータ分析のための多くのライブラリを持っています。 以下はその中でも特に人気のあるライブラリです Pandas: データの前処理や探索的データ分析に使用されるライブラリ NumPy: 数値計算を効率的に行うためのライブラリ Matplotlib & Seaborn: データの可視化に使用されるライブラリ Scikit-learn: 機械学習の
Python(pytest)でテスト書くならfixture,conftest,parametrizeを理解すると世界が一気に変わる 概要 Pythonのテストライブラリといえばpytestが一般的です。 Python標準のuniitestとは異なり、クラスベースではなく関数ベースでテストコードを記述することが一般的ですが、fixture,conftest,parametrizeを理解すると一気に世界が変わり、テスト体験が圧倒的に向上するため、これらの実装方法を紹介します。 リポジトリ 本記事の説明に使用しているサンプルのテスト実装は、以下のリポジトリです。 想定読者 PythonやGitの基本的な使い方を理解している方を想定しているため、基本的な用語説明は省略しています。 環境 エンジニアの利用率の高いmacOSを前提として説明していますので、その他の環境の方は随時読み替えてください。 開
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Information 2024/1/8: pandas , Polars など18を超えるライブラリを統一記法で扱える統合データ処理ライブラリ Ibis の100 本ノックを作成しました。長期目線でとてもメリットのあるライブラリです。こちらも興味があればご覧下さい。 Ibis 100 本ノック https://qiita.com/kunishou/items/e0244aa2194af8a1fee9 はじめに どうもこんにちは、kunishouです。 この度、PythonライブラリであるPolarsを効率的に学ぶためのコンテンツとして
各機能とツールについて、説明していきます。 エディタ Visual Studio Code エディタやIDE(統合開発環境)は好きに選んでいただければ良いとは思いますが、特に希望がないならば、Visual Studio Codeを選んでおけば間違いないでしょう。 Pythonを含む幅広い言語に対応し、豊富な拡張機能を備えている非常にリッチなエディタです。とりわけPythonプロジェクトについては、これさえ有れば、特にIDEなどは必要ないと思います。 インストールは↓から。 バージョン管理ソフト Python3系は日夜アップデートされていて、2022年12月現在の最新verは、3.11.1が提供されています。 とはいえ、プロジェクトによっては、3.7.1までしか動作が担保されていないもの、3.9.0で現在開発中のもの...などがあります。最新のPythonが常に必要、というわけでは決してなく
はじめに Pythonはコードが汚くなりがち(個人的にそう思う) そんなPythonくんを快適に書くための設定を紹介します。 拡張機能編 ここでは Pythonを書きやすくするため の拡張機能を紹介していきます。 1. Error Lens before 「コード書いたけど、なんか波線出てるよ💦」 記述に問題があった場合、デフォルトでは波線が表示されるだけ。。。 after Error Lensくんを入れることによって 波線だけでなくエディタに直接表示される。 はい、有能〜 2. indent-rainbow before Pythonくんは インデントでスコープを認識している。 for の f から下に線が伸びてるけど、ちょっと見にくいなぁ after 色が付いてちょっと見やすくなった! 3. Trailing Space before 一見、普通に見えるコード after 末尾にある
Beyond exception handling, there's something else I see people struggling with, which is logging. Most people don't know what to log, so they decide to log anything thinking it might be better than nothing, and end up creating just noise. Noise is a piece of information that doesn't help you or your team understand what's going on or resolving a problem. Furthermore, I feel people are uncertain ab
こんにちわ alivelimb です。 本記事ではプロジェクト毎に用意している Python 開発環境を紹介します。なお、本記事で紹介した環境構築の自動化スクリプトをgithubで公開しています。 概要 Python の開発環境は主に VSCode, pyenv, poetryを用いて用意しています。 pyenv は Python 自体のバージョン管理を行います。Python3.8 から 3.9 への切り替えもコマンド 1 つで行うことが可能です。Poetry は Python パッケージの管理を行います。これらに加えて VSCode の各種拡張機能を活用することで開発環境としています。 本記事で構築した環境デモ gif デモで示していることは以下の通りです リッチな予測変換 自動インポート(pathlib.Pathをインポート) ファイル保存時の静的解析 & 自動整形 Type Hint
#!/usr/bin/env python # -*- coding: utf-8 -*- import logging if __name__ == '__main__': logging.basicConfig() logging.debug('this is debug message') logging.info('this is info message') logging.warning('this is warning message') logging.error('this is error message') logging.critical('this is critical message')
はじめに Pytorchでコードを書き始めるとき、乱数固定やデータローダー、モデルの訓練や学習結果の取得等、毎度色々なサイトを参照するのは面倒だと思い、現時点の個人的ベストプラクティス・テンプレートを作成してみました。 今後のバージョンアップや便利なライブラリの登場で変わるかもしれませんげ、現在はこれで落ち着いています。 個人的な備忘録も兼ねて、前半に簡単な解説付きのコードと最後に全コードを載せています。 もっと便利な書き方やライブラリなどあれば、コメントいただけると嬉しいです。 テンプレート(解説付き) 1. ライブラリインポートと初期設定 torchやよく利用するライブラリ(numpy, matplotlib)のインポート モデルの訓練時(for文)の進捗を表示するtqdmライブラリ(jupyter notebookとコマンドライン版) 進捗表示は待ち時間の見積もりやエラーに気づくこと
📌 はじめに Pythonで開発を行うにあたり、リンタやフォーマッタ、パッケージマネージャ等のツールの選定は非常に重要な問題です。一方で歴史的な経緯もあり、沢山の選択肢から何を選ぶべきか情報がまとまっていないように感じました。この記事では2021年9月時点でモダンと言えるであろう開発環境を紹介します。基本的にはシェアが高いこと、著名なパッケージで使用されていることを主な選定理由としており、また特定のエディタに依存しないことを前提とします。 本記事で紹介する内容は一つのテンプレートに近く、必要に応じてカスタマイズするもよし、そのまま使ってもよし、として参考になればと思います。(CI/CDについてはPythonとは独立した問題なので触れません。またドキュメント生成はSphinxを推しますが、必須ではないので今回は割愛します。) 📄 要約 "モダン"な開発環境を箇条で列挙すると下記の通りです
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く