タグ

Pythonに関するbluescreenのブックマーク (285)

  • Python並行・並列処理を整理する (入門) - Qiita

    概要 大量データに関するワークロードを、モノリシックに解決する場合、並行・並列処理の知識は活用できます 但し、一般にPythonにはGILが存在するため、正しい挙動を抑えておきたい所です 内容 Pythonにおける並行処理・並列処理 プロセス = OSが管理する実行単位 (CPUコア毎) スレッド = プロセス内の軽量な実行単位 (1CPUコア内) 上記前提を踏まえると、以下となります 並行処理 = 1つのプロセスに複数のスレッドが存在します (PythonはGILにより基1プロセス制約です) 並列処理 = 複数のプロセスを並行して進めます (複数プロセス活用できます) MMU (Memory Management Unit)に関して プロセスから参照するメモリはMMUにより制御された仮想メモリを参照します。MMUによりプロセス間ではメモリ競合は起きません (1プロセス ≒ 1CPUコア

    Python並行・並列処理を整理する (入門) - Qiita
  • Python + VSCode の環境構築 20240604

    作業メモ。モダン Python 速習。 AI 周りのツールを動かしていたら TypeScript だけでやるには無理が出てきたので、久しぶりに Python の環境構築をする。 具体的には TestGen LLM を動かしたい。 Python はたまに触るけど、基 2.x 時代の知識しかない。 基的にこの記事を読みながら、細かいアレンジをしている。 追記 rye が ruff と pytest を同梱してるので rye fmt, rye check, rye test で良かった uvicorn を叩くより、 fastapi-cli を使って起動したほうが良さそうので変更 基方針: Rye に全部任せる 良く出来てると噂に聞いたので、 rye に任せる。 自分が Python が苦手な点は pip を下手に使うと環境が汚れていく点で、基的に rye で閉じて管理させる。システムの

    Python + VSCode の環境構築 20240604
  • PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita

    2024.8.6:FastHTMLについて追記しました。 ※記事で言及しているReflexのdiscordサーバー内に日語チャンネルをつくってもらいました。もし、興味をもった人がいたら参加してみてください。 1.PythonだけでWebアプリをつくるライブラリが増えている 最近(2024.05)、Python界隈ではPythonだけでWebアプリが作れるライブラリが増えています。詳しくは他の記事を参照してもらえればと思います。 以下の記事がとても参考になりました。ありがとうございます。 2.ライブラリの分類 こうしたライブラリも大きくわけて2つの種類があるように思います。 ①データ解析の結果を表示するダッシュボードライブラリ ②汎用的なWebアプリをつくるローコードライブラリ ①ダッシュボード系ライブラリ たとえば、上記の記事にも出てきますし、ネットでもかなり情報の多い、Streaml

    PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita
  • pdfからtextを抜き出す試行錯誤のメモ|Kan Hatakeyama

    これは二段構えの構成を持っています。この二段構えを正確に検出し、テキストを理解することが望ましいです。 Unstructuredを使うPythonのライブラリであるUnstructuredを試してみましょう。 参考記事 導入は非常に簡単です。 pip install 'unstructured[pdf]' 実装も簡単です。 解析コード: from unstructured.partition.pdf import partition_pdf pdf_elements = partition_pdf("pdf/7_71_5.pdf") 表示コード: for structure in pdf_elements: print(structure) 結果: 残念ながら、2段組のカラムを正確に検出することはできませんでした。 Grobidを使うGrobidは、peS2oというオープンアクセス論文のコ

    pdfからtextを抜き出す試行錯誤のメモ|Kan Hatakeyama
  • 【図解】Python基礎64選 - Qiita

    前回の記事が思いのほか好評だったので、今回はPythonの基礎を図解にまとめてみました。 これからPythonに入門する方、初学者の方への参考になれれば幸いです。 前回の記事↓ 押さえたい基礎 押さえたい基礎の分野は9つになります。 以下で詳しく見ていきます。 数値計算 数値計算は演算子を確認します。 数値の型(int・float)

    【図解】Python基礎64選 - Qiita
  • Python Distilledは幅広い人にPythonの基礎を叩き込む本 | フューチャー技術ブログ

    秋のブログ週間2023、3週目・13目です。 Python Distilledというがオライリーから出版されました。作者のDave Beazleyはかなり昔からPythonを使い込んでいる人ですので、このには信頼しかない、と思い読んでみました。Daveは大学の教授をしていて、コンピュータサイエンスで表彰もされている筋金入りです。家PyConでも何度も発表されているようです。Python歴は27年でOSSとしてはC/C++をラップして他の言語で使えるようにコードを生成するSWIGはすでに20年以上の歴史がありますし、パーサージェネレータのPLYとSLY。curioというコルーチンのライブラリなどを作っています。僕は以前、SWIGのドキュメント翻訳をしてCマガジンに特集記事を書かせていただいたこともあり、僕の大学時代の顔写真がSWIGのウェブサイトに公開されていたりします。 そういう世

    Python Distilledは幅広い人にPythonの基礎を叩き込む本 | フューチャー技術ブログ
  • Kyoto University Research Information Repository: プログラミング演習 Python 2023

    書は京都大学の全学共通科目として実施されるプログラミング演習(Python)の教科書として作成されたものです. 2023年度版では2022年度版での誤植などを修正し,読みにくい文章などを改訂し,2022年の授業の中で補足した説明などを追記しました.また,3章で例題として取り上げた平方根の計算については4章として独立させ加筆しました.また,制御構造の章(6章)ではPythonプログラムの終了について追加し,7章までの力試しの課題としていくつかの演習問題を8章として追加しました.さらに,タートルグラフィクスの章(10章)ではタートルの形の定義の方法を追加するとともに,11章ではtkinterの導入のための簡単な例題を追加て記述を見直すとともに,ウィジェットでの画像表示を追加しています.19章では関数呼び出しの中で生じるエラーについての例を追加しました. ソースコードの記載にK2PFEフォント

  • 【図解】Pythonのライブラリ 24選+α - Qiita

    Pythonにはライブラリが沢山あります。ライブラリとは便利な機能を持ったプログラムを集めたものを言い、このライブラリを上手く使うことで色々なことを実現できます。 今回はこのライブラリを用途別で図解にまとめました。 Pythonでプログラムを組む際の参考になりましたら幸いです。 ※簡単にまとめているだけなので、詳しい中身は公式ドキュメント等をご確認ください。 追記(2023/12/25) 当記事がありがたいことに好評いただけたので、Pythonの基礎も図解化しました。あわせてご活用いただけますと幸いです。 機械学習 機械学習 ⊃ 深層学習という包含関係です。 ざっくり言うと、特定のタスク(分析の方向性が明確)に対して予測できるのが機械学習で、より複雑なデータも処理できるのが深層学習です。 ただし深層学習はその分、学習に要する時間やデータは多くなります。 【機械学習入門】scikit-lea

    【図解】Pythonのライブラリ 24選+α - Qiita
  • 並列処理がとても苦手なPythonはプロセスを分けよう コードを書く時に意識したい2つのTipsと2つの落とし穴

    GoPythonKotlinRustTypeScript の5つの言語について「並列処理、並行処理の手法」というテーマに絞り解説する「並列処理をGo/Rust/Kotlin/Python/JSで解説!思想の違いを体感しよう」。Python編では橘氏が登壇。Pythonで並列処理を行う際の設計方針と、実装上の癖について話します。 西川氏の自己紹介 西川大亮氏(以下、西川):ここからはPython編の「ちょっとしたデータ分析の並列化」というタイトルで、西川から話します。 GOに勤める西川です。今やっているのは、タクシーやハイヤーの営業支援。「お客さんを乗っけていない時間、どこを走ったらいいの?」とか「どういうところで待っていたら注文来やすいの?」というところのナビをする、「お客様探索ナビ」というサービスのいろいろなことをしています。小さなサービスなのでいろいろやっている感じですね。 P

    並列処理がとても苦手なPythonはプロセスを分けよう コードを書く時に意識したい2つのTipsと2つの落とし穴
  • Pythonのパッケージ管理の中級者の壁を超える stapy#98

    以下のstapy#98にて発表したスライドです https://startpython.connpass.com/event/296755/ PythonのPackage Managerを深く知るためのリンク集 https://gist.github.com/vaaaaanquish/1ad9…

    Pythonのパッケージ管理の中級者の壁を超える stapy#98
  • 主にVSCodeではじめるPython開発環境構築ガイド | DevelopersIO

    ファイル比較 VSCodeのエクスプローラで、ファイル2つを選択して右クリックメニューから「選択項目を比較」で比較することができます。 また右クリックで、「比較対象の選択」をした後に「選択項目を比較」でも比較することも可能です。 VSCodeのSnippetの使い方 VSCodeのSnippetも便利です。似たような構造のクラスを実装する場合などや、プロジェクト共通で使いがちな書き方というものをSnippetに登録して、効率化することができます。 また、変数を持たせておくこともできます。この場合、Snippetを呼び出した後に変数部分にカーソルがあたるので、そこで変数部分をタイピングできます。 詳細は以下のリンクをご覧ください。 Visual Studio Codeに定型文(スニペット)を登録する方法 VSCodeのUser Snippetを活用しよう! また後述するSnippet Gen

    主にVSCodeではじめるPython開発環境構築ガイド | DevelopersIO
  • 「YAMLの本来の使い方」を仕様から読み取ってみる | Wantedly Engineer Blog

    YAMLは「便利なJSON」として使われることが多い一方、その複雑性から落とし穴も多く、しばしば批判の対象になります。 なぜYAMLはそこまで複雑なのでしょうか? その背景のひとつは、来のYAMLがJSONとは大きく異なる目的意識で作られているからです。 稿ではYAML specに従う形でYAMLのコンセプトを解説することを目指します。残念ながら、ここに書かれているYAMLの思想は実際には実用されているとは言い難いですし、これらの背景を理解しても「YAMLは複雑だ」という事実がひっくり返ることはないでしょう。それでも、YAMLの複雑さの源泉を体系的に理解し、YAMLとほどほどの距離感で付き合う助けにはなるのではないかと思います。 この記事ではこういう話をしますYAMLはJSONとは独立に、異なる目的で生まれた野心的な仕様であるアンカーやタグなどの強力な構文は、これらの目的を満たすために

    「YAMLの本来の使い方」を仕様から読み取ってみる | Wantedly Engineer Blog
  • Pythonの開発環境の3つの観点をおさえよう

    先日 "Python の「仮想環境」を完全に理解しよう" というスライドを公開したらかなり反響がありました。 Python の開発環境の構築は、正直言ってかなり複雑だと思います。 pip・venv・pyenv・Pipenv などなど、似たような名前・似たような役割のツールがたくさん登場して、最初は全然意味が分かりません。 慣れればなんとかなるのですが、慣れるまではかなり苦しいです。 このようにとても難解であるにも関わらず、Python機械学習などでよく使われることから、避けられないことも多いです。 そこでこの記事には、「そもそも Python の開発環境にはどんな観点があるんだ?このツールはなにを解決してくれるんだ?」という話をまとめます。

    Pythonの開発環境の3つの観点をおさえよう
  • Code Llama の概要|npaka

    以下の記事が面白かったので、かるくまとめました。 ・Introducing Code Llama, a state-of-the-art large language model for coding 1. はじめに「Code Llama」は、コードと自然言語の両方からコードとコードに関する自然言語を生成できる最先端のLLMです。研究および商用利用が可能で、無料で利用できます。 「Code Llama」は「Llama 2」ベースで、次の3つのモデルを提供します。 ・Code Llama : 基的なコード生成モデル。 ・Code Llama - Python : Pythonに特化したコード生成モデル。 ・Code Llama - Instruct : 自然言語の指示を理解できるようにファインチューニングしたモデル。 ベンチマークテストではコードタスクにおいて、公的に入手可能な最先端のLL

    Code Llama の概要|npaka
  • Pythonでボリンジャーバンド、売買シグナル、バックテスト - Qiita

    株価は95.4%の確立でボリンジャーバンド±2σの範囲内に収まる エンジニア未経験、Qiita覚えたので初投稿 仮説 4.6%でしか負けないならボリンジャーバンドで売買すれば絶対に勝てる 条件 初期資100万円、1ポジション100株、手数料0、副ポジション無し、25日移動平均線を基準 使用ライブラリ yfinance 株価取得 Pandas データフレーム matplotlib.pyplot グラフ tqdm プログレスバー datetime Timestampオブジェクト os csv保存 処理順序 株価取得 移動平均線、 標準偏差、ボリンジャーバンド、乖離率の算出 売買ルール制定、バックテスト リターンの算出 グラフ化 必要なライブラリのインストール

    Pythonでボリンジャーバンド、売買シグナル、バックテスト - Qiita
  • Flask実践入門 - 基本的なアプリ構成を問い合わせフォームをつくりながら学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)

    コンフィグ設定 まずはapps/config.pyを作成し以下のコンフィグを追加しましょう。実践的なアプリでは開発環境の他にstaging環境、番環境、テスト環境などが存在するのでそれぞれ専用のコンフィグ設定を行います。 from pathlib import Path basedir = Path(__file__).parent.parent class BaseConfig: """ BaseConfigクラス """ SECRET_KEY = os.environ["SECRET_KEY"] WTF_CSRF_SECRET_KEY = os.environ["WTF_CSRF_SECRET_KEY"] class LocalConfig(BaseConfig): """ BaseConfigクラスを継承してLocalConfigクラスを作成する """ SQLALCHEMY_DA

    Flask実践入門 - 基本的なアプリ構成を問い合わせフォームをつくりながら学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)
  • PythonのコードをEXE化するには?PyInstallerやその他ツールの特徴や使い方

    PythonのコードをEXE化するPythonは、初心者でも簡単に習得できるプログラミング言語の1つです。インタープリター型であるPythonスクリプトのコード開発には、数多くの公開ライブラリが活用できます。 Pythonでは開発したスクリプトコードを配布して利用できますが、ターゲット環境にもPythonが必要であり多少の準備が必要です。コンパイラ言語のようにEXEファイルを配布したい場合もあるでしょう。 そこで、ここではPythonのコードをEXE化して利用する方法を解説します。 PythonのコードをEXE化するメリットですが、次の3点を紹介します。 1つ目は、ターゲットとなる実行環境にPythonが不要である点が挙げられます。ソフトウェア開発者はPythonの開発環境を用意している場合が多いですが、ユーザ環境やオペレータ向けの環境では開発環境を導入することができません。 この場合でも

    PythonのコードをEXE化するには?PyInstallerやその他ツールの特徴や使い方
  • Pythonによる財務分析に挑戦、有価証券報告書のデータを扱うには

    企業の経営状況は財務に関する情報から分析できる。Pythonを使ってEDINETから有価証券報告書のデータを取得し、企業の収益性を可視化してみよう。 「財務分析」とは、「企業の財務に関する情報から経営状況を分析すること」です。企業の財務に関する情報は、「貸借対照表」「損益計算書」などから構成される「財務諸表」と呼ばれる資料から確認できます。 では、上場企業の財務分析を行う場合、それらの資料はどうやって入手したらよいでしょうか。そんなときに利用できるのが「有価証券報告書」です。 有価証券報告書は、企業の株式などを購入する投資家に対し、投資判断に有用な情報を示すために作られる資料です。財務諸表も有価証券報告書の中に含まれています。 この有価証券報告書は、金融庁が運用している「EDINET」というシステムから入手できます。EDINETは、有価証券報告書、有価証券届出書、大量保有報告書等の開示書類

    Pythonによる財務分析に挑戦、有価証券報告書のデータを扱うには
  • あなたのPythonを100倍高速にする技術 / Codon入門

    はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々なツールや処理系が開発されています。 この記事ではMITの研究者らが開発したPythonを高速化するツール「Codon」について紹介します。 この記事を3行でまとめると: 高性能で簡単に扱えるPythonコンパイラ「Codon」 Pythonとの互換性がありながら、CやC++に匹敵する高速化を実現 実際にPythonコードが100倍速くなることを検証 Codonとは Codonは高性能なPythonコンパイラです。実行時のオーバーヘッドなしにPythonコードをネイティブなマシンコードにコンパイルし、シングルスレッドで10-100倍以上の高速化が実現できます。Codonの開発はGithub上で行われており、2021

    あなたのPythonを100倍高速にする技術 / Codon入門
  • [初心者向き] OpenAI APIを使ってPythonでChatGPT遊びするための最初の三歩くらい | DevelopersIO

    ChatGPT面白いですね! あんなことやこんなことできるんじゃないかと夢想して楽しんでいます。 そんなわけで、OpenAIAPIキーを発行できたんだけれども、そのあとどうすればいいの? という過去の自分のために、Pythonでの超基的な使い方をまとめておきたいと思います。 結論から言うと、 Pythonのコード15行程度でChatGPTを使ったアプリが出来上がりました! (APIキーを発行するやり方は他の記事をご参照ください) 準備 Python3でOpenAIのライブラリを使うので、pipでインストールしておきます。 pip install openai また、最小限のコードとはいえ、環境変数はハードコードしたくないので、 コマンドラインの環境変数に設定します。 export OPENAI_API_KEY="sk-xxxx" コード Pythonのコードを書いていきます。 ここに書

    [初心者向き] OpenAI APIを使ってPythonでChatGPT遊びするための最初の三歩くらい | DevelopersIO