コードをより効率的にするための 4 つの Python 演繹的開発テクニック
データ サイエンスの場合、通常、Python はデータの処理と変換に広く使用されています。Python は、データ処理をより柔軟にするための強力なデータ構造処理関数を提供します。ここでの「柔軟性」とは何を意味しますか?
これは、 Python では同じ結果を達成するには常に複数の方法がありますが、常にさまざまな方法があり、使いやすく、時間を節約し、より適切に制御できる方法を選択する必要があります。
これらの方法をすべてマスターすることは不可能です。そこで、あらゆる種類のデータを扱うときに知っておくべき Python の 4 つのヒントのリストをここに示します。
リスト内包表記 リスト内包表記は、リストを作成するためのエレガントで最も Python フレンドリーな方法です。 for ループや if ステートメントと比較すると、リスト内包表記では、既存のリストの値に基づいて新しいリストを作成するための構文がはるかに短くなります。それでは、この機能がリストのコピーをどのように取得するかを見てみましょう。
リスト内包表記を使用したリストのコピー
既存のリストのコピーを作成する必要がある場合があります。最も単純な答えは .copy() です。これを使用すると、あるリストの内容を別の (新しい) リストにコピーできます。
たとえば、整数のリストoriginal_list。
original_list = [10,11,20,22,30,34]
このリストは、.copy() メソッドを使用して簡単にコピーできます。
duplicated_list = original_list.copy()
リスト内包表記はまったく同じ出力を取得できます。リストのコピーは、リストの内包理解を理解するための良い例です。
以下のコードを見てください。
duplicated_list = [item for item in original_list]
これは、リストをコピーするときにリスト内包表記を使用する方が良いと言っているわけではありませんが、このケースがリスト内包表記の作業方法を導入するのに最適であると言っているのです。
次に、リストの内包表記によって、リストの各要素に対して数学的演算を実行する際の作業がどのように簡単になるかを見てみましょう。
リスト内の要素を乗算する
乗算の最も簡単または直接的な方法は、乗算演算子を使用することです。これは、*
たとえば、スカラー (つまり、数値 5) リスト内の各項目を乗算します。ここでは、リストのコピーが 5 つ作成されるため、original_list*5 を使用することはできません。
このシナリオでは、次に示すように、リスト内包表記が最適な答えになります。
original_list = [10,11,20,22,30,34] multiplied_list = [item*5 for item in original_list] # Output [50, 55, 100, 110, 150, 170]
ここでの演算は数値の乗算に限定されません。元のリストの各要素に対して複雑な操作を実行できます。
たとえば、各項の平方根の 3 乗を計算するとします。これは 1 行で解決できます。
multiplied_list = [math.sqrt(item)**3 for item in original_list] # Output [31.6227766016838, 36.4828726939094, 89.4427190999916, 103.18914671611546, 164.31676725154983, 198.25236442474025]
数値の平方根の計算に使用される関数 sqrt はライブラリ math に属しているため、この例で使用する前にインポートする必要があります。
上記の組み込み関数と同様に、リストの各要素でユーザー定義関数を使用することもできます。
たとえば、次のような単純な関数です。
def simple_function(item): item1 = item*10 item2 = item*11 return math.sqrt(item1**2 + item2**2)
このユーザー定義関数は、リスト内の各項目に適用できます。
multiplied_list = [simple_function(item) for item in original_list] # Output [148.66068747318505, 163.52675622050356, 297.3213749463701, 327.0535124410071, 445.9820624195552, 505.4463374088292]
リスト内包表記は、実際のシナリオではさらに役立ちます。通常、分析タスクでは、nan 要素を削除するなど、リストから特定の種類の要素を削除する必要があります。リスト内包表記は、これらのタスクに最適なツールです。
リストからの要素の削除
特定の基準に基づいてデータをフィルタリングすることは、目的のデータ セットを選択する一般的なタスクの 1 つであり、同じロジックがリスト内包表記でも使用されます。
以下に示す数値のリストがあるとします。
original_list = [10, 22, -43, 0, 34, -11, -12, -0.1, 1]
このリストからは正の値のみを保持したいとします。したがって、論理的には、条件項目 > 0 について TRUE と評価される項目のみを保持したいと考えます。
new_list = [item for item in original_list if item > 0] # Output [10, 22, 34, 1]
if 句は負の値を削除するために使用されます。 if 句を使用して任意の条件を適用し、リストから任意の項目を削除できます。
たとえば、平方が 200 未満の項目をすべて削除したい場合は、以下のようにリスト合成で条件項目 **2 > 200 を指定するだけです。
new_list = [item for item in original_list if item**2 > 200] # Output [22, -43, 34]
実際のデータ セットを扱う場合、リスト項目をフィルタリングするための条件ははるかに複雑になる可能性がありますが、この方法は高速で理解しやすいです。
2 つのリストを辞書のキーと値のペアに変換するには、dict() を使用します。
2 つのリストの値から辞書を作成する必要がある場合があります。それらを 1 つずつ入力する代わりに、辞書内包表記 (dictionary comprehension) を使用できます。これは、辞書を作成するためのエレガントで簡潔な方法です!
Itはリスト内包表記とまったく同じように機能しますが、唯一の違いは、リスト内包表記を作成する場合は、すべてを [] などの角括弧で囲みますが、辞書内包表記では、すべてを中括弧で囲みます ({} など)。
以下に示すように、フィールドと詳細という 2 つのリストがあるとします。
fields = [‘name’, ‘country’, ‘age’, ‘gender’] details = [‘pablo’, ‘Mexico’, 30, ‘Male’]
簡単な方法は、次のような辞書内包表記を使用することです -
new_dict = {key: value for key, value in zip(fields, details)} # Output {'name': 'pablo', 'country': 'Mexico', 'age': 30, 'gender': 'Male'}
ここで理解することが重要なのは、関数 zip がどのように機能するかです。
Python では、zip 関数は文字列、リスト、辞書などの反復可能なオブジェクトを入力として受け取り、それらをタプルに集約して返します。
つまり、この場合、zip はリスト フィールドと詳細から各項目のペアを形成します。辞書内包表記で key:value を使用する場合は、このタプルを個々のキーと値のペアに解凍するだけです。
Python の組み込み dict() コンストラクター (辞書作成用) を使用すると、dict() は辞書内包表記より少なくとも 1.3 倍高速になるため、このプロセスはさらに高速になります。
したがって、このコンストラクターを zip() 関数で使用する必要があります。その構文ははるかに単純です - dict(zip(fields,details))
概要
で述べたように、まず、Python は同じ結果を達成する方法が複数あるため、非常に柔軟です。タスクの複雑さに応じて、それを達成するための最適な方法を選択する必要があります。
この記事があなたのお役に立てれば幸いです。この記事で述べたのと同じことを行う別の方法がある場合は、お知らせください。
以上がコードをより効率的にするための 4 つの Python 演繹的開発テクニックの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonコードをSublimeテキストで実行するには、最初にPythonプラグインをインストールし、次に.pyファイルを作成してコードを書き込み、Ctrl Bを押してコードを実行する必要があります。コードを実行すると、出力がコンソールに表示されます。

Visual Studioコード(VSCODE)でコードを作成するのはシンプルで使いやすいです。 VSCODEをインストールし、プロジェクトの作成、言語の選択、ファイルの作成、コードの書き込み、保存して実行します。 VSCODEの利点には、クロスプラットフォーム、フリーおよびオープンソース、強力な機能、リッチエクステンション、軽量で高速が含まれます。

VSコードはPythonの書き込みに使用でき、Pythonアプリケーションを開発するための理想的なツールになる多くの機能を提供できます。ユーザーは以下を可能にします。Python拡張機能をインストールして、コードの完了、構文の強調表示、デバッグなどの関数を取得できます。デバッガーを使用して、コードを段階的に追跡し、エラーを見つけて修正します。バージョンコントロールのためにGitを統合します。コードフォーマットツールを使用して、コードの一貫性を維持します。糸くずツールを使用して、事前に潜在的な問題を発見します。

メモ帳でPythonコードを実行するには、Python実行可能ファイルとNPPEXECプラグインをインストールする必要があります。 Pythonをインストールしてパスを追加した後、nppexecプラグインでコマンド「python」とパラメーター "{current_directory} {file_name}"を構成して、メモ帳のショートカットキー「F6」を介してPythonコードを実行します。
