pythonに関するdokoのブックマーク (52)

  • 2024年最新版:Pythonデータ解析ライブラリ総まとめ - 実践的ガイド - Qiita

    はじめに Pythonのデータ解析エコシステムは日々進化を続けています。2024年現在、効率的なデータ処理、直感的な可視化、高度な機械学習の自動化など、様々な新しいツールが登場しています。記事では、最新のPythonデータ解析ライブラリを紹介し、それぞれの特徴や使用例、実際のユースケース、そして導入方法まで詳しく解説します。 1. データ操作ライブラリ 1.1 Polars: 高速データ処理の新標準 Polarsは、Rustで実装された高速なデータ操作ライブラリです。pandasに似たAPIを持ちながら、大規模データセットでより高速に動作します。 特徴: 高速な処理速度 メモリ効率が良い pandasに似たAPI 使用例: import pandas as pd # サンプルデータを作成 data = { "age": [25, 32, 28, 35, 40, 50], "categor

    2024年最新版:Pythonデータ解析ライブラリ総まとめ - 実践的ガイド - Qiita
    doko
    doko 2024/07/22
  • 「Pythonのドキュメントでも読むか~」「え、何その裏技」 - Qiita

    読み飛ばしてください おはようございます、しなもんです。 Pythonの公式ドキュメントを読んでたら、なんか知らない便利機能がたくさん出てきました。 なんだこれ。 というわけでまとめてみました。 参考になれば幸いです。 f-stringsの拡張機能 f-strings、便利ですよね。大好きです。 そんなあいつには裏技があるみたいです。 デバッグ用の=演算子 Python 3.8以降、f-stringの中で=演算子を使用することで 変数名とその値を同時に表示できるらしい。

    「Pythonのドキュメントでも読むか~」「え、何その裏技」 - Qiita
    doko
    doko 2024/07/15
  • Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita

    この記事ですることを3行で Pythonの標準ライブラリでできる並列実行を、あらためて総当たりで速度比較しよう ウォーターフォールチャートで、それぞれの並列処理の処理時間の特徴を可視化しよう boto3の実行をモデルケースにして、どの並列処理が一番早いのかを調べよう この記事の結論を先に Python 3.12から格的に使えるようになったサブインタープリターは、CPUで実行する処理について言えば、従来のサブプロセスよりも高速 boto3の実行は、サブインタープリターよりも署名付きURLの非同期実行のほうが速い → S3からの10ファイルの取得であれば、実行時間を90%削減できます → Bedrockの3回実行であれば、実行時間を60%削減できます 今回使ったソースコードはこちらに置いています。 お手持ちの環境で再実行できるようにしていますので、気になる方はぜひ。 どうしてこの記事を書くの

    Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita
    doko
    doko 2024/05/02
  • PandasからPolarsへ移行した方がいいのか - Qiita

    なぜこの記事を書くのか 皆さん、データ解析を行う際にどのようなライブラリを用いているでしょうか。 おそらく大半の人はpandasを使っているのではないでしょうか。 私もpandas使ってます。簡単だよね(´・ω・`) しかし、業務でバカクソでけえデータを読み込もうとしたときに、読み込み時間がとんでもなくかかったり、メモリ不足でそもそも読み込めもしないことが起きていました。 読み込みにメモリわれすぎて他の作業ができずに待機した挙句、燃え尽きたかのようにノーパソのファンが止まると同時にメモリ不足のエラーが出たときには切れ散らかします。 (画像元:葬送のフリーレン公式Xアカウントのポストより) そんなこともあり、AWSなどのクラウドサービスでメモリに余裕を持たせるためにめちゃくちゃ良いインスタンスを使用していましたが、コストの問題で断念しました。 しかし、どうしても読み込みたいということもあり

    PandasからPolarsへ移行した方がいいのか - Qiita
    doko
    doko 2024/04/18
  • 【書評】Pythonによる時系列予測 | DevelopersIO

    こんちには。 データアナリティクス事業機械学習チームの中村(nokomoro3)です。 冬休みの個人的課題図書(自習)として「Pythonによる時系列予測」を読み終えましたので、感想と振り返りを書いておこうと思います。 書籍情報 以下の書籍になります。 Pythonによる時系列予測 | マイナビブックス 発売 : 2023年10月 翻訳であり原著は以下となります Time Series Forecasting in Python 発売 : 2022年08月 概要 概要として書に記載されていることと、記載されてないことを紹介します。 記載されていること(感想含む) 記載されていることは以下のようになっています。 時系列タスクの説明 トレンド、季節性、残差という3成分に分けられることの説明 ランダムウォークという解けない問題の定義 統計モデル MA、AR、ARMA、SARIMA、SA

    【書評】Pythonによる時系列予測 | DevelopersIO
  • Meta、「Llama 2」ベースのコーディング用LLM「Code Llama」をリリース 研究および商用向けで無償提供

    Metaは2023年8月24日(米国時間)、7月に公開した大規模言語モデル(LLM)「Llama 2」をベースにしたコーディング用LLMファミリー「Code Llama」の提供開始を発表した。コーディングタスクにおいて、公開されているLLMの中で最先端のパフォーマンスを提供するとしている。 Code Llamaは、ベースモデルのCode Llama、Pythonに特化した「Code Llama - Python」、自然言語の命令を理解するようにファインチューニングされた「Code Llama - Instruct」の3種類があり、いずれも70億、130億、340億のパラメーターを持つ3サイズのモデルがある(以下では、それぞれ7Bモデル、13Bモデル、34Bモデルと表記する)。 Llama 2と同じコミュニティーライセンスで研究および商用向けに無償で提供されている。

    Meta、「Llama 2」ベースのコーディング用LLM「Code Llama」をリリース 研究および商用向けで無償提供
  • 【図解】Python基礎64選 - Qiita

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

    【図解】Python基礎64選 - Qiita
    doko
    doko 2023/12/26
  • pulpを使いこなすための備忘録 - 数学やプログラミングの備忘録

    pulpは、python数理最適化のモデルを記述するためのモジュール です。モデル記述後、そのまま指定した最適化ソフトウェアで解くことができます。デフォルトでは、最適化ソフトウェアとして同梱されているCBCが呼び出されます。pulpとCBCは、COIN-ORにより開発されています。 pulpはpythonのモジュールということだけあって、記述がとても楽です。解きたい問題を速攻で記述できます。 インストール方法も簡単です(condaも同様です)。 pip install pulp この記事では、そんな便利なpulpを使いこなすための備忘録です。 参考:PuLPによるモデル作成方法 — Pythonオンライン学習サービス PyQ(パイキュー)ドキュメント 目次 pulpが記述できる数理最適化問題モデル 最小の記述例 使い方 高速化・便利ワザ・注意点 1. pulpが記述できる数理最適化モデル

    doko
    doko 2023/12/22
  • 妻の雑務を最適化したい(Streamlit+PuLPでグループ分け最適化アプリ) - Qiita

    はじめに こんにちは! 私は業務で、数理最適化を活用したシステム開発、および導入支援に従事しています。 記事は、私のが担当した 雑務(部署の懇親会のグループ分け) を題材として、それを数理最適化問題に落とし込み、条件を満たすようなグループ分けを求める簡易的なアプリをPythonで実装してみました。 「とりあえず動くものを作る」という意識で取り組んだため、もし特に数理最適化周りについて、より効率的なアプローチをご存じの方、また思いついた方は、ぜひご指摘いただけると幸いです。 具体的に・・・ 「部署の懇親会のグループ分け」の背景や概要は以下の通りとのことでした。 部署全体の人数は 100人程度、またその部署内にいくつかのチームが存在する。 この部署には、特に若手について、別チームの社員との親交が薄いという課題があった。 そこで、別チームの若手同士や、若手と年次が上の社員の親睦を深めるために

    妻の雑務を最適化したい(Streamlit+PuLPでグループ分け最適化アプリ) - Qiita
    doko
    doko 2023/12/22
    従業員リストのcsv等で入力する一方で別途、従業員数を指定する必要があるのはなんでなんだろう
  • 知っていますか?Pandasをノーコーディングで高速化(CPU環境でも)できるらしい… FireDucks🔥🐦 - Qiita

    知っていますか?Pandasをノーコーディングで高速化(CPU環境でも)できるらしい… FireDucks🔥🐦Pythonpandasデータサイエンス統計検定 はじめに Pandasで大量データを扱って処理時間にイライラしたことはないでしょうか? なんと、Pandasを従来のコードを変えずに高速化するライブラリィが出たみたいです。 NEC研究所が出したFireDucks 🔥🐦 というライブラリィで、ベータ版が無償公開されています。 しかも CPU環境でも高速化されるみたいです。詳細は下記のサイトを参照してください。 ベーター版ですが無償とは素晴らしいですね! 早速検証してみましょう。 環境 FireDucksの利用方法には、「インポートフック」、「明示的なインポート」の2種類があります。 「インポートフック」の場合は、pythonの起動時にオプションを指定することでコードの書き換え

    知っていますか?Pandasをノーコーディングで高速化(CPU環境でも)できるらしい… FireDucks🔥🐦 - Qiita
  • [電話予約の無人化]Amazon Connect + GPT-4 JSONモード + Whisperで、1回の発話から予約情報(日付,時間など)を抽出 | DevelopersIO

    [電話予約の無人化]Amazon Connect + GPT-4 JSONモード + Whisperで、1回の発話から予約情報(日付,時間など)を抽出 はじめに Amazon Connect + GPT-4 JSONモード + Whisperで、1回の発話から予約情報(電話番号,日時,名前,人数)を正しく抽出できるか検証しました。 コールセンターでは、有人対応から無人対応に変更したいニーズが増えているように思います。 電話予約の無人対応を想定し、1回の発話で、下記の5つの予約情報を抽出できるか確認します。 お名前 電話番号 予約日 予約時間 人数 発話で予約情報を抽出する方法として、GPT-4 Turbo のJSONモードを利用します。 JSONモードの詳細は、下記を参照ください。 例えば、「名前はクラスメソッドで、電話番号は09011111111。来週の火曜日の19時に4名で予約できます

    [電話予約の無人化]Amazon Connect + GPT-4 JSONモード + Whisperで、1回の発話から予約情報(日付,時間など)を抽出 | DevelopersIO
    doko
    doko 2023/11/21
    できる人はさくさく書けてうらやましい。ぼかぁちまちまChatGPTに聞きながらじゃないと書けない
  • なぜPythonにはsetter/getterメソッドがないのか? - Qiita

    概要 JavaC++などの他のオブジェクト指向言語ではsetter/getterメソッドの使用が推奨されているが、Pythonには存在しない。 もともとJavaC++に触れていた僕には「なぜPythonにはsetter/getterメソッドがないのか?」がすごく疑問だった。 さらに、Javaなどの言語の資料では 「クラス内部の変数はprivateにして隠蔽せよ」 と書いてあるが、逆にPythonの資料では 「privateはなるべく使わずpublicを使え」 と書いてあることが多い。 矛盾しているのでは...? 気になったのでいろいろ調べて見た結果、そこには2つの理由があることがわかった。 さらに、Pythonでsetter/getterを使いたい場合の1つの代替案があるということもわかった。 この記事では オブジェクト指向とカプセル化について Pythonにsetter/getter

    なぜPythonにはsetter/getterメソッドがないのか? - Qiita
    doko
    doko 2023/11/13
  • GPT-3.5-Turbo / GPT-4-Turbo 1106のJSONモードの使い方|shi3z

    時間未明(午前三時)ものすごいスピードで語られたOpenAI初の開発者向けイベントDevDayで発表されたGPT-4-TurboとGPT-3.5-TurboによるJSONモード。 これはものすごく強力なんだけど、Python APIによる使い方がどこにも描いてないので試行錯誤の末見つけましたので共有いたします。 from openai import OpenAI import openai import os openai.api_key = "<APIキー>" client = OpenAI() def gpt(utterance): #response = openai.chat( response = client.chat.completions.create( #model="gpt-4-1106-preview", model="gpt-3.5-turbo-1106", r

    GPT-3.5-Turbo / GPT-4-Turbo 1106のJSONモードの使い方|shi3z
  • OpenAIのFunctionCallingを理解する

    2023/06/13 OpenAIの大きなアップデートが発表されました。 その中でも新たに加わった目玉機能がFunction callingです。 このFunction calling、一見すると「APIのレスポンスをいい感じのJSONにしてくれるのかな?」と思ってしまうのですが、それは使い方の一部で質ではありません*。記事では、この少し概念がややこしいFunction callingを早く、正確に理解できるように具体的な実装を交えてご紹介します。 *記事の最後にレスポンスをJSONにする方法もご紹介はします。 Function callingとは Function callingとは、OpenAI API(以降OpenAI)のレスポンスが外部関数の呼び出しを検知し、教えてくれる仕組みです。これにより、OpenAIと外部のシステム連携をミスなく正確に行うことができるようになります。 具

    OpenAIのFunctionCallingを理解する
  • [OpenAI] Function callingで遊んでみたら本質が見えてきたのでまとめてみた | DevelopersIO

    ChatGPT、皆さん遊んで活用してますか!? 0613のモデルと並んで発表されたFunction callingの機能を使って遊んでみました。 「自然言語でリクエストを投げつければ内部で関数が実行されて正確な計算ができる!?」みたいな雑すぎる理解しかしていなかったので、 どんなことができるのかな?と思って試してみました。 試してみた結果、Function callingは関数を実行してくれる機能じゃない!(極論)ということがわかったので、 その辺について考察してみたいと思います。 前提として、OpenAI APIを用いたChatGPTの利用方法については基を理解しているものとしています。 具体的には、以前私が書いたこのブログの内容が何となく理解できてれば十分だと思います。 [初心者向き] OpenAI APIを使ってPythonChatGPT遊びするための最初の三歩くらい また、こち

    [OpenAI] Function callingで遊んでみたら本質が見えてきたのでまとめてみた | DevelopersIO
  • 技術blogのリンクを投げたらChatGPTが要約して、いい感じに整形してチャンネル投稿してくれるbotを社内Slackに生やしたら捗った話

    こんにちは、株式会社シグマアイのエンジニアの@k_muroです。 今回の記事は最近導入した「技術blogを良い感じに共有してくれるSlack bot」のご紹介を。 はじめに 技術の進化は止まらない。(真面目な話、AI系の進捗がマジですごいて全然追えない) 毎日のように新しい技術、フレームワーク、ライブラリ、ツールが生まれています。そんな中でエンジニアとして働いていると、この情報の波に疲れを感じること、ありませんか? ありますよね?(脅迫) 実際私もその一人で、この小さな疲れが積み重なって大きなストレスとなることに気づきました。 「新しい技術情報、追いつけるかな?」 「あのブログ記事、後で読もうと思ってたのに、どこいったっけ?」 「チーム全員が同じ情報を持ってるか心配だな。」 そんな日常の疑問や不安から逃れるための一歩として、私はあるSlack botを開発しました。このbotは、送られた技

    技術blogのリンクを投げたらChatGPTが要約して、いい感じに整形してチャンネル投稿してくれるbotを社内Slackに生やしたら捗った話
  • LangChain クイックスタートガイド - Python版|npaka

    Python版の「LangChain」のクイックスタートガイドをまとめました。 ・LangChain v0.0.329 (2023/11/3) 1. LangChain「LangChain」は、「大規模言語モデル」 (LLM : Large language models) と連携するアプリの開発を支援するライブラリです。 「LLM」という革新的テクノロジーによって、開発者は今まで不可能だったことが可能になりました。しかし、「LLM」を単独で使用するだけでは、真に強力なアプリケーションを作成するのに不十分です。真の力は、それを他の 計算 や 知識 と組み合わせた時にもたらされます。「LangChain」は、そのようなアプリケーションの開発をサポートします。 主な用途は、次の3つになります。 ・文書に関する質問応答 ・チャットボット ・エージェント 2. LangChain のモジュール「L

    LangChain クイックスタートガイド - Python版|npaka
    doko
    doko 2023/11/04
    たすかる
  • pythonは_(アンダースコア)の使い方を理解するだけでプロフェッショナルになれる - Qiita

    1. 第3次AIブームの到来 米Google DeepMindが開発した人工知能AI)の囲碁プログラム「AlphaGo」が世界トップレベルの実力を持つ韓国のプロ棋士、李世ドル(イ・セドル)九段に4勝1敗と大きく勝ち越したことが着火剤となり、2015年より第3次AIブームへと突入した。(ちなみにAIが誕生したのは1950~1960年代で第1次AIブームの到来) 1.1 余談になるがAlphaGo(4億円の知能)はなぜすごいのか? AlphaGoがそれ以前のチェスや将棋AIと異なるのは、 畳み込みニューラルネットワーク(CNN) を応用している点だ。このCNNはさらに強化学習を行い、自分自身と対局を数千万回も繰り返した。 間違っていたらすみません、、、、 1.2 ChatGPTによる生成AIのブーム ChatGPTに代表されるLLMは以前から開発競争が繰り広げられていた。 GPT1は201

    pythonは_(アンダースコア)の使い方を理解するだけでプロフェッショナルになれる - Qiita
  • 業務で使える一歩進んだPython使いになるために / To become an advanced user of Python that can be used at work

    This slide is used by my talk session on PyCon APAC 2023 in Japan. このスライドは2023年のPyCon APACで発表したものです。

    業務で使える一歩進んだPython使いになるために / To become an advanced user of Python that can be used at work
    doko
    doko 2023/10/28
  • OpenAI APIとLangChainを用いた記事の翻訳・要約メディアのつくり方

    はじめに この記事では、3日間でテック記事のAI要約・翻訳メディアをつくる個人開発で利用した OpenAI API LangChain の具体的な実装と利用コストについて触れていきます。 OpenAI APIとLangChainとは... OpenAI API OpenAI APIは、OpenAIという人工知能の研究・開発・普及を目的とした団体が提供するAPIです。このAPI は、自然言語とコードの理解または生成を必要とするタスクに利用することができます。 LangChain OpenAIが提供するGPT-3のような大規模言語モデル(Large Language Model: LLM)を利用してサービスの開発をしたいときに、「あるとうれしい機能」が集まったライブラリです。 この記事の目的 OpenAI API を使った記事の要約とFunction Callingの紹介 LangChain

    OpenAI APIとLangChainを用いた記事の翻訳・要約メディアのつくり方