タグ

pythonとprogrammingに関するlepton9のブックマーク (211)

  • Pandasで「野根(None)」という地名が欠損値(NaN)になってしまった話

    Pandasの read_csv における欠損値文字列の扱い Pythonのデータ解析ライブラリPandasでは、CSVファイルを読み込む際(pd.read_csv())、特定の文字列が自動的に NaN (欠損値)として扱われるという仕様があります。 ドキュメントによると、デフォルトで以下の値がNaNと解釈されます。 By default the following values are interpreted as NaN: “ “, “#N/A”, “#N/A N/A”, “#NA”, “-1.#IND”, “-1.#QNAN”, “-NaN”, “-nan”, “1.#IND”, “1.#QNAN”, “<NA>”, “N/A”, “NA”, “NULL”, “NaN”, “None”, “n/a”, “nan”, “null “. 実際に起きた問題: 野根(None) という地名

    Pandasで「野根(None)」という地名が欠損値(NaN)になってしまった話
  • Python 3.13 から「兆」が 10 の 6 乗になっている - マグマグ (起動音)

    この記事は 2024 TSG Advent Calendar 3日目の記事です。昨日の記事は @__dAi00 さんの記事 AivisSpeechを使ったDiscordボットの作成 ①AivisSpeechをGoogle Cloud Runにデプロイする でした。12/5 公開予定の続編も楽しみです。 今回は、初日に公開した以下の記事の副産物です。 import unicodedata # Python 3.12 まで 1000000000000.0 # Python 3.13 から 1000000.0 print(unicodedata.numeric("兆")) 大変だ。Python 3.13 から「5000 兆円」が 50 億円になってしまう(?) unicodedata.numeric メソッドと Unicode 例によって Unicode が関係してきます。前編でも触れたとおり、

    Python 3.13 から「兆」が 10 の 6 乗になっている - マグマグ (起動音)
  • コーディング面接で必要なPythonの学習 - Coding InterviewCat | InterviewCat - テック企業面接対策プラットフォーム

    コーディング面接で使われる構文、データ構造、標準関数などは実はある程度限定されています。ここに書いてある事を理解するだけでコーディング面接における(体感)8 ~ 9割くらいのPythonの必要な知識を学習できます。 例えば、辞書やセットは頻繁に活用しますが、ジェネレーター・デコレータなどはコーディング面接ではそこまで登場しません。つまり必要なものだけ集中して学習し、残りの要素はその都度調べる形が効率良いでしょう。コーディング面接では万が一忘れた時は相手が自分の代わりにググってくれたり、擬似コードとして書くことも許される場合があります。

    コーディング面接で必要なPythonの学習 - Coding InterviewCat | InterviewCat - テック企業面接対策プラットフォーム
  • はじめに:『書くスキルも設計スキルも飛躍的に上がる! プログラムを読む技術』

    【発刊に寄せて】 プログラマーの人材不足が叫ばれる中、プログラミング教育と言えば、とかくプログラムが書ける人材を育成する必要性にばかり目を奪われがちです。書は、著者の岩松洋氏が岡山大学の情報工学科および大学院でプログラミングを学び、会社でプログラマーをしていた経験の中で、プログラムを読むことの重要性に気づき、その視点から書かれた一冊です。 昨今、最終的に作成するシステムを短期間で作成するために、プログラムは使えるものがあればそれを流用し、なるべく自分でプログラムを書き起こさないことが推奨されるようです。Pythonなどは特にその傾向が強く、ライブラリを使いこなすのがプログラミングの主な仕事となっている感があります。会社の中で仕事をしていれば、先輩技術者が作ったプログラムをメンテナンスすることもあるでしょうし、自分が昔作ったプログラムを修正することが必要になることもあるに違いありません。そ

    はじめに:『書くスキルも設計スキルも飛躍的に上がる! プログラムを読む技術』
  • Python理事会が古参開発者を追い出して開発者コミュニティが騒動に - Qiita

    どういうわけか日では一切話題に上がっていないのですが、Pythonの開発者コミュニティでなんか問題が起きているようです。 どうも話が様々なスレッドにとっ散らかっているうえに半分はDiscordや非公開のところで動いているみたいなので、読み取れていないところが色々あるかもしれません。 誰かが補足してくれるはず。 Proposed bylaws changes to improve our membership experience 最初のきっかけはこのスレッドです。 これは規約の一部を変更する提案であり、その中でも3番目の提案であるAdds provision to remove Members by vote of the Board of Directorsという変更が注目を浴びました。 Python財団にはフェローという制度があり、これはPythonエコシステムやコミュニティに優れた

    Python理事会が古参開発者を追い出して開発者コミュニティが騒動に - Qiita
  • PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita

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

    PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita
  • Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita

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

    Python 3.12で増えた並列処理と、これまでの並列処理の挙動を比べてみる - Qiita
  • データ分析のためのSQLを書けるようになるために

    はじめに 稿では分析用クエリをスラスラ書けるようになるまでの勉強方法や書き方のコツをまとめてみました。具体的には、自分がクエリを書けるようになるまでに利用した教材と、普段クエリを書く際に意識していることを言語化しています。 想定読者として、SQLをガンガン書く予定の新卒のデータアナリスト/データサイエンティストを想定しています。 勉強方法 基礎の基礎をサッと座学で勉強してから、実践教材で実際にクエリを書くのが望ましいです。 実務で使える分析クエリを書けるようになるためには、実務経験を積むのが一番良いですが、だからといって座学を御座なりにして良いというわけではありません。SQLに自信がない人は、一度基礎に立ち返って文法の理解度を確認した方が良いと思います。 書籍 SQL 第2版: ゼロからはじめるデータベース操作 前提として、SQLに関する書籍の多くがデータベース運用/構築に関する書籍がほ

    データ分析のためのSQLを書けるようになるために
  • pathlibをもっと使おう - The jonki

    皆さんはPythonのpathlib使ってますか?私は非常によく使っています.例えば機械学習では学習の前に前処理を多く行うケースが非常に多いですが,このような時にpathlibを知っておくと便利です.pathlibは意外とPython 3.4(2014年~)からとそれなりに新しいため,古くからのPythonユーザーは os.pathの方をよく使っているかもしれません.ただpathlibは文字列ではなくPathクラスとして扱ってくれることで,例えばLinux/Windowsのパス表記の違いを吸収してくれたりします. pathlibとos.pathの比較は公式のpathlibドキュメントに譲るとして,私がよく使うpathlibのクラスを紹介します.また今回改めてドキュメントを眺めて知った便利関数も多いので,公式ドキュメントに目を通すのもオススメします. 今回は下記のような複数の素性の異なるデー

    pathlibをもっと使おう - The jonki
  • Pythonの構造的パターンマッチングのさらに便利なパターン紹介 | gihyo.jp

    鈴木たかのり(@takanory)です。今月の「Python Monthly Topics」では、第1回で紹介したPython 3.10の新機能「構造的パターンマッチング(Structural Pattern Matching⁠)⁠」の続きをお届けします。 前回は構造的パターンマッチング全体の説明、いくつかのパターンをコード例を交えて紹介しました。今回はその続きとして、前回紹介できなかった他のパターンについても紹介します。 Python 3.10の新機能:構造化パターンマッチング | gihyo.jp 構造的パターンマッチングとは 前回の繰り返しになりますが、この記事で初めて構造的パターンマッチングを知った人に向けて、簡単に紹介します。詳細は上記の記事を参照してください。 構造的パターンマッチングはPython 3.10で新しく導入された文法です。Python 3.10は2021年10月に

    Pythonの構造的パターンマッチングのさらに便利なパターン紹介 | gihyo.jp
  • Python 3.8以降(~3.11)の型ヒント革命:DataclassとPydanticの徹底比較

    はじめに 📘 この記事は ラクスパートナーズ Advent Calendar 2023 の1日目の記事になります!! 社の ラクス Advent Calendar 2023 の7日目にも参加予定なのでそちらもよろしくお願い致します🥳 長い間 Python3.7 環境のプロジェクトに携わっていましたが、この度 Python3.10~ 環境のプロジェクトに携わることになりました。 そこでこの機会に python3.8 以降の最新の型ヒントやコード品質向上のテクニックについて、改めて情報をキャッチアップしながらまとめていきたいと思います。 この記事の対象者 🎯 Python の型ヒントについて学び直したい方 Python3.8 以降の型ヒントについて理解を深めたい方 python のドメインモデルクラスについて理解を深めたい方 型ヒントを使用したことがないが、興味がある方 なぜ型ヒントを

    Python 3.8以降(~3.11)の型ヒント革命:DataclassとPydanticの徹底比較
  • 今日から使えるgokart小技集 - エムスリーテックブログ

    こんにちは! エムスリーエンジニアリンググループ AI機械学習チームの氏家です。 AI機械学習チームでは多くのMLプロダクトを開発・運用していますが、そのうちのほとんどがgokartという機械学習向けパイプラインライブラリを使って実装されています。 gokartはとてもMLプロダクトの開発に便利な反面、gokartを100%活用する方法が確立、普及しているとはいえません。 そこで、記事では、実際にエムスリーで活用しているTipsなどを紹介していこうと思います。 これを機にどんどんgokartの知見がネット上に溢れるようになっていければ嬉しいです。 なお、記事は「gokartで爆速開発!MLOps勉強会」の発表をもとに加筆したものとなります。 www.m3tech.blog 発表資料も公開していますのでそちらもご参照ください。 speakerdeck.com gokart Param

    今日から使えるgokart小技集 - エムスリーテックブログ
  • Titanicで学ぶ、実務で使えるgokartの書き方 - エムスリーテックブログ

    こんにちは。エムスリーエンジニアリンググループ AI機械学習チームで機械学習エンジニアをしている農見(@rookzeno) です。最近はgokartを使ったパイプライン開発に勤しんでます。 皆さんはgokartというものをご存知でしょうか。この記事を開く人は知ってそうですが、gokartとはエムスリーがメンテナンスしている機械学習パイプラインOSSです。もしgokartのことを知らなかった人が居たらこのgokartの記事を読んでください。 エムスリー内ではこれを全面的に利用して開発を行なっていますが、その知見は社内に閉じてるものも多いです。そこでエムスリー内でどんな感じでgokartを使ってるかというのをTitanicデータセットを利用して説明していこうと思います。 今回使用したコードはこちら github.com はじめに 全体pipelineの作成 1. データのダウンロード 2.

    Titanicで学ぶ、実務で使えるgokartの書き方 - エムスリーテックブログ
  • Python: Luigi のパラメータ爆発問題について - CUBE SUGAR CONTAINER

    Luigi は、Python を使って実装された、バッチ処理のパイプラインを扱うためのフレームワーク。 Luigi でパイプラインを定義するときは、基的には個別のタスクを依存関係でつないでいくことになる。 このとき、扱う処理によってはパイプラインは長大になると共に扱うパラメータの数も増える。 そうすると、依存関係で上流にあるタスクに対して、どのようにパラメータを渡すか、という問題が生じる。 この問題は、公式のドキュメントではパラメータ爆発 (parameter explosion) と表現されている。 luigi.readthedocs.io 今回は、このパラメータ爆発問題を解決する方法について。 なお、基的には上記のドキュメントに解決方法が書いてあるので、そちらを読むでも良い。 使った環境は次のとおり。 $ sw_vers ProductName: Mac OS X ProductV

    Python: Luigi のパラメータ爆発問題について - CUBE SUGAR CONTAINER
  • Pythonについて思うこと | 雑記帳

    みなさん、Pythonは好きですか? この記事では、私がPythonという言語とそのエコシステムについて思うところを書いていきます。全体を通したストーリーみたいなのはなくて、トピックごとに書いています。 私のPython経験は3年弱です。Pythonについてまだまだ新米だという自覚はありますが、そこは有り余る才能でカバーしてこの記事を書いています。 静的型 Pythonには静的型がありません。型ヒントはありますが、インタープリターにとっては飾りにすぎません。 mypyとかの型チェッカーはありますが、「それさえあれば万事ハッピー」なものではなく、既存のコードを適宜書き換えないと型チェッカーでまともな結果を得るのは難しそうです。型検査を念頭に書かれていない(型ヒント付きの)コードをそのままmypyにかけても大量のエラー・警告が出てくるでしょう(ちなみに、型ヒントなしの関数はmypyのデフォルト

  • データオーケストレーションツールDagsterの紹介

    データオーケストレーションとは データオーケストレーションという言葉をご存知でしょうか?日ではまだ耳慣れない言葉ですが、data orchestrationでgoogle検索すると実に3000万件以上ヒットし、世界的には十分に市民権を得ている言葉です。Databricksではデータオーケストレーションを以下のように説明しています。 データオーケストレーションとは データオーケストレーションとは、複数のストレージからサイロ化したデータを取り出し、組み合わせて整理し、分析に利用できるようにするための自動化されたプロセスです。 このプロセスでは、レガシーシステム、クラウドベースのツール、データレイクといったあらゆるデータセンターが接続されます。データは標準形式に変換されるため、理解しやすく、容易に意思決定に利用できます。 オーケストレーションとは、コンピュータシステム、アプリケーション、および

    データオーケストレーションツールDagsterの紹介
  • Mojoは「C言語のように速いPython」なのか - k0kubun's blog

    LLVMやSwiftを作ったChris LattnerがCEOをやっている会社が、Pythonの使用感とC言語並の性能を併せ持つ言語としてMojoをアナウンスした。 まだ手元で試せる状態でリリースされてはいないが、最大35000倍Pythonより速いという。 Mojo🔥 combines the usability of Python with the performance of C, unlocking unparalleled programmability of AI hardware and extensibility of AI models. Also, it's up to 35000x faster than Python 🤯 and … deploys 🏎 pic.twitter.com/tjT09U4F80— Modular (@Modular_AI) May

    Mojoは「C言語のように速いPython」なのか - k0kubun's blog
  • 「Mojoは、ここ数十年で最大のプログラミング言語の進歩になるかもしれない」のまとめ|りさ | AI

    【5/6修正】 申し訳ございません。 もともと自分の学習用に記事の内容をまとめていて、それを公開していたのですが、無許可転載であるとのご指摘がありましたので、記事の内容を削除いたしました。 配慮が欠けていました。 申し訳ありませんでした。 元記事をお読みください。 https://www.fast.ai/posts/2023-05-03-mojo-launch.html

    「Mojoは、ここ数十年で最大のプログラミング言語の進歩になるかもしれない」のまとめ|りさ | AI
  • Mojo 🔥: Powerful CPU+GPU Programming

    Be the first to get lightning fast inference speed on your GPUs. Be the envy of all your competitors and lower your compute spend.

    Mojo 🔥: Powerful CPU+GPU Programming
  • あなたの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入門