np.where() コードアプリケーションの Python の詳細な分析
[関連する推奨事項: Python3 ビデオ チュートリアル ]
np.where には 2 つの用途があります:
np.where(condition, x, y)
、つまり、condition は条件です。条件が満たされる場合、出力は x であり、条件が満たされない場合、出力は y です。コードを入力してください:
a = np.arange(10) //array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) print(np.where(a > 5, 1, -1)) //array([-1, -1, -1, -1, -1, -1, 1, 1, 1, 1])
上記 非常にわかりやすいですが、公式サイトの例は以下のようにわかりにくいです:
np.where([[True,False], [True,True]], [[1,2], [3,4]], [[9,8], [7,6]]) // 输出 array([[1, 8], [3, 4]])
このように理解できます。 . 最初の行の bool 値は、値を取得するかどうかを意味する条件を表します。まず、[ True, False] を見てください。つまり、最初の True 値は、最初の行が [1,最初の行の 2] は、下の 9 を取得する代わりに、False は最初の行 2 の [1, 2] の値を取得せず、2 行目の [9, 8] の 8 を取得することを意味します。 [3, 4] と同じです。
理解を容易にするために、別の例を示します:
a = 10 >>> np.where([[a > 5,a < 5], [a == 10,a == 7]], [["chosen","not chosen"], ["chosen","not chosen"]], [["not chosen","chosen"], ["not chosen","chosen"]]) //array([['chosen', 'chosen'], ['chosen', 'chosen']], dtype='<U10')
最初の行 a> 5True の場合、最初の行の最初の値を取得し、a<5 を取得します。 2 行目の 2 番目の値。以下同様です。
最初のメソッドを理解した後、np.where を見てみましょう。2 番目のメソッド:
つまり、np.where(condition) 、x と y を省略し、条件 (condition) のみを指定すると、条件を満たす (つまり 0 以外の) 要素の座標が出力されます (numpy.nonzero と同等)。ここでの座標はタプルの形式で与えられ、通常、出力タプルには、条件を満たす要素の各次元の座標に対応する複数の配列が含まれます。
>>> a = np.array([2,4,6,8,10]) >>> np.where(a > 5) //(array([2, 3, 4]),) 返回索引值 >>> a[np.where(a > 5)] //array([ 6, 8, 10]) 返回元素值,即a[索引]
私が遭遇したコード例を挙げてください:
a = array([[0., 1.], [0., 1.], [0., 1.], [0., 1.], [0., 1.], [0., 1.], [0., 1.], [0., 1.], [1., 0.], [0., 1.], [0., 1.], [0., 1.], [1., 0.], [1., 0.], [0., 1.], [0., 1.], [1., 0.], [0., 1.], [1., 0.], [0., 1.]]) np.where(a == 1) //(array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, // 17, 18, 19], dtype=int64), // array([1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1], // dtype=int64))
返された 2 つの配列コンポーネントは、どの行とどの値が 1 であるかを示します。したがって、結果の最初のコンポーネントがその行を表します。インデックス、2 番目の配列 array は列インデックスを表します。これは 1 の壊れたシルバー インデックスです。
添付ファイル: np.where() 複数条件の使用法
1.np.where (条件,x,y) where に 3 つのパラメータがある場合、最初のパラメータは条件を表します。条件が true の場合、where メソッドは x を返します。条件が true でない場合、where は y
2 を返します。 .np.where(condition) where にパラメータが 1 つしかない場合、そのパラメータが条件を表します。条件が true の場合、where は条件を満たす各要素の座標をタプルの形式で返します。
3. 詳細 条件はcondition、& は and を意味し、| は or を意味します。たとえば、a = np.where((0x、y は a と同じサイズを維持する必要があることに注意してください。
例:
import numpy as np data = np.array([[0, 2, 0], [3, 1, 2], [0, 4, 0]]) new_data = np.where((data>= 0) & (data<=2), np.ones_like(data), np.zeros_like(data)) print(new_data)
結果:
[[1 1 1]
[0 1 1]
[1 0 1]]
data の各要素が data>=0 および data対応する座標の値であることがわかります。満たされている場合は返されます。満たされていない場合は、np.zeros_like(data) に対応する座標 の値が返されます。もちろん、x と y は条件と同じサイズであれば他の値に変更することができます。
【関連する推奨事項:Python3 ビデオ チュートリアル ]
以上がnp.where() コードアプリケーションの Python の詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック

Mobile XMLからPDFへの速度は、次の要因に依存します。XML構造の複雑さです。モバイルハードウェア構成変換方法(ライブラリ、アルゴリズム)コードの品質最適化方法(効率的なライブラリ、アルゴリズムの最適化、キャッシュデータ、およびマルチスレッドの利用)。全体として、絶対的な答えはなく、特定の状況に従って最適化する必要があります。

単一のアプリケーションで携帯電話でXMLからPDF変換を直接完了することは不可能です。クラウドサービスを使用する必要があります。クラウドサービスは、2つのステップで達成できます。1。XMLをクラウド内のPDFに変換し、2。携帯電話の変換されたPDFファイルにアクセスまたはダウンロードします。

C言語に組み込みの合計機能はないため、自分で書く必要があります。合計は、配列を通過して要素を蓄積することで達成できます。ループバージョン:合計は、ループとアレイの長さを使用して計算されます。ポインターバージョン:ポインターを使用してアレイ要素を指し示し、効率的な合計が自己概要ポインターを通じて達成されます。アレイバージョンを動的に割り当てます:[アレイ]を動的に割り当ててメモリを自分で管理し、メモリの漏れを防ぐために割り当てられたメモリが解放されます。

XML構造が柔軟で多様であるため、すべてのXMLファイルをPDFSに変換できるアプリはありません。 XMLのPDFへのコアは、データ構造をページレイアウトに変換することです。これには、XMLの解析とPDFの生成が必要です。一般的な方法には、ElementTreeなどのPythonライブラリを使用してXMLを解析し、ReportLabライブラリを使用してPDFを生成することが含まれます。複雑なXMLの場合、XSLT変換構造を使用する必要がある場合があります。パフォーマンスを最適化するときは、マルチスレッドまたはマルチプロセスの使用を検討し、適切なライブラリを選択します。

XMLフォーマットツールは、読みやすさと理解を向上させるために、ルールに従ってコードを入力できます。ツールを選択するときは、カスタマイズ機能、特別な状況の処理、パフォーマンス、使いやすさに注意してください。一般的に使用されるツールタイプには、オンラインツール、IDEプラグイン、コマンドラインツールが含まれます。

XMLは、XSLTコンバーターまたは画像ライブラリを使用して画像に変換できます。 XSLTコンバーター:XSLTプロセッサとスタイルシートを使用して、XMLを画像に変換します。画像ライブラリ:PILやImageMagickなどのライブラリを使用して、形状やテキストの描画などのXMLデータから画像を作成します。

XMLをPDFに直接変換するアプリケーションは、2つの根本的に異なる形式であるため、見つかりません。 XMLはデータの保存に使用され、PDFはドキュメントを表示するために使用されます。変換を完了するには、PythonやReportLabなどのプログラミング言語とライブラリを使用して、XMLデータを解析してPDFドキュメントを生成できます。

ほとんどのテキストエディターを使用して、XMLファイルを開きます。より直感的なツリーディスプレイが必要な場合は、酸素XMLエディターやXMLSPYなどのXMLエディターを使用できます。プログラムでXMLデータを処理する場合、プログラミング言語(Pythonなど)やXMLライブラリ(XML.ETREE.ELEMENTTREEなど)を使用して解析する必要があります。
