Python

 Computer >> コンピューター >  >> プログラミング >> Python
  1. 【Python】Selenium WebDriverでページの読み込み完了まで待機する方法

    Selenium WebDriverを使えば、ページが完全に読み込まれるまで待機することができます。Seleniumには「同期(synchronization)」という概念があり、これには暗黙的待機(implicit wait)と明示的待機(explicit wait)の2種類があります。ページの読み込み完了を待つ場合には、明示的待機の仕組みを利用するのが適切です。明示的待機(explicit wait)とは明示的待機は、特定の要素に対して設定された期待条件(expected condition)が満たされるまで待つ仕組みです。ページの読み込み完了を判定したい場合は、対象となる要素に対して p

  2. 【Selenium Python】WebDriverのデフォルトタイムアウトを設定する方法

    Selenium WebDriverにおけるデフォルトタイムアウトの設定方法 Selenium WebDriverでは、ページの読み込みや要素の検索に対してデフォルトのタイムアウト時間を設定できます。主な方法は以下の2つです。 set_page_load_timeout():ページ読み込み完了までの最大待機時間を設定 implicitly_wait():暗黙的待機として、すべての要素検索に適用されるグローバルな待機時間を設定 1. set_page_load_timeout()によるページロードタイムアウトの設定 set_page_load_timeoutメソッドを使用すると、ページの読

  3. SeleniumとPythonで要素とテキストを取得する方法

    Selenium WebDriverを使えば、Webページ上の要素とそのテキストを簡単に取得できます。手順としては、まずid、クラス名、CSSセレクターなどのロケーターを使って対象の要素を特定し、次にtextプロパティを使って要素内のテキストを取得します。基本構文s = driver.find_element_by_css_selector(h4).textここでdriverはWebDriverオブジェクトです。find_element_by_css_selectorメソッドは、CSSセレクターをロケーターとして要素を特定するために使用され、引数にロケーター値(この場合はh4)を渡します。最後

  4. DockerをPythonで操作する!docker-pyライブラリAPIの使い方徹底解説

    PythonのライブラリAPIを使えば、コンテナ、イメージ、クラスタ、SwarmといったDockerオブジェクトにアクセスし、管理・操作することができます。DockerコマンドでできることはほぼすべてPythonから実行可能です。特にDjangoやFlaskなどのPythonアプリケーションを開発している場合、アプリ本体と同じスクリプトの中でDockerコンテナを管理できるのは非常に便利です。docker-pyのインストールDocker用のPythonライブラリAPIを使用するには、「docker-py」というパッケージをインストールする必要があります。以下のpipコマンドでインストールできま

  5. Pythonで複数の区切り文字を使って文字列を分割する方法(re.splitの使い方)

    問題文字列をフィールドごとに分割したいけれど、区切り文字が文字列全体で統一されていない——そんな場面に直面することはありませんか?例えば、ハイフン(-)、カンマ(,)、空白などが混在したデータを扱う場合、単純な split() メソッドだけでは対応が難しくなります。解決策Pythonで複数の区切り文字を持つ文字列を分割する方法はいくつかあります。最も手軽なのは標準の split() メソッドですが、これは単純なケース向けの機能です。re.split() は、通常の split() メソッドよりも柔軟に、複雑な文字列パターンに対応できます。re.split() を使えば、区切り文字として複数のパ

  6. Pythonでシーケンス内の最頻出アイテムを特定する方法|collections.Counterの使い方を徹底解説

    問題シーケンス(リストや文字列など)の中で、最も頻繁に出現する要素を特定したい場面は、データ分析において非常によくあります。Pythonでは、標準ライブラリの collections.Counter を使うことで、この処理を簡単かつ効率的に行えます。解決策Counter を使えば、シーケンス内の各アイテムの出現回数を自動的に集計できます。さらに most_common() メソッドを組み合わせれば、最も頻度の高いアイテムを瞬時に取り出せます。Counterとは?「Counter」は、各キーに対して整数のカウント値を保持するマッピング型です。既存のキーを更新すると、そのカウントが加算されていきま

  7. Pythonで最大・最小の要素を取得する方法まとめ!min/max・heapq・pandasの使い分けを解説

    この記事では、Pythonを使ってデータの中から最大または最小の要素を効率的に見つけたい開発者に向けて、いくつかの方法を紹介し、それぞれの使い分けのポイントまで解説します。方法1:リストに対するソート+スライス単純に1つだけの最小値や最大値(N=1)を求めたい場合は、組み込み関数のmin()とmax()を使うのが最も高速です。まずはランダムな整数のリストを生成してみましょう。import random# ランダムな整数のリストを作成random_list = random.sample(range(1, 10), 9)random_list出力結果[2, 4, 5, 1, 7, 9, 6, 8

  8. 【Pandas入門】.locでインデックスラベルを使ってデータの一部を抽出する方法

    はじめにPandasには、インデックス位置(番号)またはインデックスラベルを使ってデータのサブセットを選択できる、2つの選択手段が用意されています。本記事では、後者の「インデックスラベルを使ったデータ抽出」の方法を、実例を交えながらわかりやすく解説します。まず前提として、Pythonの組み込みデータ構造である辞書(dict)とリスト(list)の挙動を思い出してください。辞書はキー(ラベル)でデータを選択し、リストは整数の位置またはスライスオブジェクトで選択します。辞書のキーは文字列・整数・タプルのいずれかである必要があります。Pandasには、それぞれ独自の方法でインデックス操作を行うための

  9. Python Pandasの辞書式順序スライスでデータのサブセットを抽出する方法

    はじめにPandasには、インデックス位置またはインデックスラベルを使ってデータのサブセットを選択する、2つの選択手段が用意されています。本記事では、その中でも「辞書式順序スライス(lexicographical slicing)」を使ってデータのサブセットを抽出する方法を解説します。インターネット上にはさまざまなデータセットが公開されています。今回はKaggle(kaggle.com)で公開されている映画データセットを使用します。準備:必要な列だけを読み込むまず、この例に必要な列だけを指定して映画データセットを読み込みます。インデックスには映画タイトル(title)を設定します。import

  10. Python Pandasの辞書式スライシングでデータのサブセットを抽出する方法を徹底解説

    はじめにPandasには、インデックス位置(番号)またはインデックスラベル(文字列)を使ってデータのサブセットを選択できる、2つの選択機能が備わっています。本記事では、その中でも「辞書式スライシング(lexicographical slicing)」を使ってデータのサブセットを抽出する方法を詳しく解説します。インターネット上には豊富なデータセットが公開されています。例えばkaggle.comで「movies dataset」と検索すると映画関連のデータセットが見つかります。本記事では、Kaggleの映画データセットを使用して説明していきます。実装手順1. データセットの読み込みまず、この例に必

  11. 【Pandas入門】重複行を検出・抽出・削除する方法を徹底解説

    データ分析を行っていると、重複した行をすぐに削除してしまうのではなく、まず中身を確認しながらデータへの理解を深めたい場面があります。 幸い、pandasには重複行を扱うための便利なメソッドがいくつか用意されています。本記事では、公開されているHRデータセットを使用しながら、重複行の検出・抽出・削除の方法を、実際のコードと実行結果とともにわかりやすく解説します。 duplicated() メソッドで重複行を検出する duplicated() メソッドを使うと、DataFrame内の重複している行を簡単に抽出できます。ここでは重複を含むサンプルとして、GitHub上で公開されているHRデータセッ

  12. PythonでHTMLページを解析してHTMLテーブルを抽出する方法

    課題Webページ上のHTMLテーブルを抽出したい——そんな場面は、データ収集やスクレイピングの現場でよくあります。本記事では、Pythonを使ってHTMLページを解析し、ページ内に埋め込まれたテーブルを取り出す方法を解説します。はじめにインターネット、そしてWorld Wide Web(WWW)は、現代において最も重要な情報源です。膨大な情報が存在するため、その中から目的のコンテンツを選び出すのは決して簡単ではありません。こうした情報の大部分は、HTTPを通じて取得することができます。しかし、これらの操作はプログラムから実行することも可能です。情報の取得と処理を自動化できれば、作業を大幅に効率

  13. Python Pandasでテンプレートを活用してDataFrameに新しい行を追加する方法

    PythonのPandasライブラリを使って、テンプレートを活用しながらDataFrameに新しい行を追加する方法を解説します。はじめにデータエンジニアリングのスペシャリストとして働いていると、派生列(カラム)を作成する機会の方が、行(レコード)そのものを作成する機会よりも多くなりがちです。分析用データの生成や送信は、本来ならデータベースの専門チームが担当すべき役割だからです。しかし、常にそうとは限りません。データ専門チームからの納品を待つ代わりに、サンプルとなる行を自分で作成しなければならない場面も出てきます。本記事では、行をスマートに作成するための便利なテクニックを紹介します。実装の流れこ

  14. PythonのzipfileモジュールでファイルをZIP圧縮する方法【サンプルコード付き】

    課題Pythonを使ってファイルを圧縮(ZIP化)したい場合があります。はじめにZIPファイルは、複数のファイルの内容をひとつにまとめて圧縮して格納できるアーカイブ形式です。ファイルを圧縮するとディスク上のサイズが小さくなるため、インターネット経由での送受信や、Control-M AFT・Connect:Direct・scpなどを利用したシステム間のファイル転送において非常に便利です。Pythonでは、標準ライブラリのzipfileモジュールに含まれる関数を使うことで、簡単にZIPファイルを作成できます。手順1. 必要なパッケージの準備本記事では zipfile と io の2つのパッケージを

  15. PythonでExcelファイルをチャンク単位で効率的に処理する方法

    はじめにビジネスの世界では、今なおExcelが絶対的な存在です。データエンジニアリングの現場でも、多くの同僚が重要な意思決定のためにExcelを活用している姿を目にし、驚かされることが少なくありません。筆者自身はMS OfficeやExcelスプレッドシートの熱心なファンというわけではありませんが、大規模なExcelスプレッドシートを効率的に扱うための便利なテクニックを紹介します。準備:PandasでExcelを扱うための基礎知識コードを見ていく前に、PandasでExcelスプレッドシートを扱う際の基本的なポイントを確認しておきましょう。1. 必要なライブラリのインストールまず、openpy

  16. 【Python】行列内の0を含む行と列をすべて0に変換するアルゴリズム

    問題概要2次元の数値行列が与えられたとき、行列内にある0を含む行と列のすべての要素を0に置き換え、最終的な行列を返すプログラムを作成します。例えば、入力行列の中で0が存在する行(0行目、2行目、3行目)は、最終的な行列ではすべて0になります。同様に、0が存在する列(0列目、1列目、2列目)もすべて0に変換されます。解法のアプローチこの問題は、以下の手順で解くことができます。行数を n、列数を m とします。n × m のサイズの結果用行列 res を作成し、すべての要素を0で初期化します。元の行列の転置行列 transpose を作成します。各行 i について、matrix[i] に0が含まれ

  17. Pythonでスレッドによる並行処理を実装する方法を徹底解説

    はじめにPythonには、スレッド、サブプロセス、ジェネレータなど、並行プログラミングを実現するためのさまざまな手法が用意されています。本記事では、その中でも最も基本的な「スレッド」を使った並行処理の実装方法を解説します。実装に入る前に、まず「並行性(Concurrency)」とは何かを理解しておきましょう。並行性とは、1つのプログラム内に存在するロジックが、複数の独立した実行パスを開き、それぞれが同時にかつ互いに独立して動作しているように見える状態を指します。例えば、個別のI/Oストリームの処理やSQLクエリの実行などがこれに該当します。シングルスレッドでの実装まずは比較のため、単一スレッド

  18. Pythonのzip関数でイテレータを並列処理する方法と注意点

    はじめにリスト内包表記(List Comprehension)を使うと、元のリストに式を適用して、新しいリストを簡単に生成できます。例として、リスト内の各要素に5を掛ける処理を見てみましょう。まずは、シンプルなforループを使った書き方です。a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] multiply_by_5 = [] for x in a: multiply_by_5.append(x*5) print(fOutput \n *** {multiply_by_5})出力結果*** [5, 10, 15, 20, 25, 30, 35, 40, 45, 5

  19. Pythonのsubprocessモジュール徹底解説!プロセスの基本から実践的な使い方まで

    プロセスとは何かWindows、Mac、Linuxなどの環境でプログラムを作成して実行すると、オペレーティングシステム(OS)は「プロセス」という単位を生成します。プロセスは、CPU、RAM、ディスク容量といったシステムリソースを使用し、OSカーネル内のデータ構造にもアクセスします。また、各プロセスは互いに分離されており、他のプロセスが何をしているのかを覗き見たり、干渉したりすることはできません。注意: 本記事のコードはLinux/Unix系システムを想定しています。Windows環境で実行すると例外が発生する場合がありますのでご注意ください。オペレーティングシステムの役割OSには大きく分けて

  20. Pythonで2048ゲームの指定方向スライド後の盤面を求める方法

    問題の概要2048ゲームの盤面(初期状態)と、スワイプ方向を表す文字列が与えられたとき、その方向に1回スライドした後の盤面の状態を求めるプログラムを作成します。2048ゲームでは、4×4のマスに数字が配置されたボードを使用します(空きマスは0で表現されます)。プレイヤーは「U(上)」「D(下)」「L(左)」「R(右)」の4方向のいずれかへスワイプできます。スワイプを行うと、すべての数字はその方向へできるだけ遠くまで移動し、隣り合う同じ数値はちょうど1回だけ合算されます。たとえば、次のような盤面が与えられたとします。matrix = [[2, 0, 0, 2],[2, 2, 2, 2],[0,

Total 8994 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:183/450  20-コンピューター/Page Goto:1 177 178 179 180 181 182 183 184 185 186 187 188 189