Python における Self とは: 実際の例
Python における Self とは: 実際の例
Python を扱うデータ サイエンティストであれば、おそらくNumPy ライブラリに遭遇したことがあるでしょう。これは、 Pythonの科学計算の基本パッケージの 1 つです。
NumPy は、多次元配列に対して高性能の操作を実行できる機能を備えており、Python でデータ サイエンスや数値計算に取り組む人にとって不可欠なツールです。
NumPy チートシートは、この Python ライブラリへの取り組みをガイドするのに役立つ優れたリソースです。包括的なチートシートは、NumPy の機能をナビゲートし、さまざまなタスクでの使用にすぐに習熟するのに役立ちます。
また、NumPy は、Pandas、SciPy、sci-kit-learn、その他の Python パッケージなどの重要なライブラリの中核に位置していることを忘れないでください。
Python NumPyチートシートを利用してその基本をマスターすると、これらのライブラリを使用する準備が整います。また、複雑なデータ構造と計算を処理するスキルも向上します。
あなたは (私たちと同じように) 古いタイプの人で、チートシートをダウンロードして印刷したいと考えていますか?
下にスクロールしてください。
目次
NumPy の基本
このセクションでは、NumPy のインストール、配列の作成、配列属性、データ型に焦点を当てて、NumPy の基本について説明します。これらの概念は、Python データ サイエンス プロジェクトで NumPy を理解し効果的に活用するための強固な基盤を提供します。
1. NumPyのインストールとインポート
以下のコマンドを使用して、コマンドラインから NumPy をインストールできます。
pip install numpy
インストールしたら、コードにインポートします。
import numpy as np
np以外の名前も使用できることに注意してください。ただし、np は、ほとんどの開発者やデータ サイエンティストが使用する標準の NumPy インポート規則です。
2. 配列の作成
NumPy での配列の作成はシンプルで簡単です。numpy.array()関数を使用して、リストまたはタプルから配列を作成できます。
import numpy as np
a = np.array([1, 2, 3]) # Creates a 1D array
b = np.array([(1, 2, 3), (4, 5, 6)]) # Creates a 2D array
さまざまな関数を使用して、特定の形状と値の配列を生成することもできます。
np.zeros() : ゼロで埋められた配列を作成します
np.ones() : 1 で満たされた配列を作成します
np.identity() : 単位行列配列を作成します。
np.empty() : 要素を特定の値に初期化せずに配列を作成します
np.arange() : 開始値と終了値の間に等間隔の値を含む配列を作成します
np.linspace() : 開始値と終了値の間に指定された数の等間隔の値を含む配列を作成します
注: NumPy では空の配列を生成できません。各 NumPy 配列のサイズは固定で不変であり、配列の作成時に配列内の各要素を埋める必要があります。
np.empty ()関数は、必要な配列形状を作成し、それにランダムな値を入れます。デフォルトのメソッドでは、ランダムな float の配列が作成されます。
dtypeパラメーターを使用して、別の配列データ型を作成できます。
3. 配列の属性
NumPy 配列には、配列に関する有用な情報を提供するいくつかの属性があります。それらのいくつかを見てみましょう:
ndarray.shape:配列の次元をタプル (行、列) として返します。
ndarray.ndim:配列の次元数を返します。
ndarray.size:配列内の要素の合計数を返します。
ndarray.dtype:配列要素のデータ型を返します。
これらの属性にアクセスするには、次のようにドット表記を使用します。
a = np.array([(1, 2, 3), (4, 5, 6)])
#Print out the array shape
print(a.shape) # Output: (2, 3)
4. データ型
NumPy は、整数、文字列、浮動小数点数、ブール値、複素数など、配列にデータを格納するためのいくつかのデータ型を提供します。デフォルトでは、NumPy は入力要素に基づいてデータ型を推測しようとします。
ただし、 dtypeキーワードを使用してデータ型を明示的に指定することもできます。例えば:
import numpy as np
a = np.array([1, 2, 3], dtype=float) # Creates an array of floats
一般的な NumPy データ型には次のものがあります。
np.int32 : 32ビット整数
np.int64: 64 ビット整数
np.float32: 32 ビット浮動小数点数
np.float64: 64 ビット浮動小数点数
np.complex: 2 つの 64 ビット浮動小数点数で表される複素数
配列をあるデータ型から別のデータ型に変換することもできます。この例では、 np.array()メソッドを使用して整数配列a をブール配列arrに変換する方法を示します。
この例から、array() メソッドが配列要素をブール値に変換していることがわかります。これらのブール値は、新しい NumPy 配列 arr を形成します。
NumPy のこれらの基本概念を理解すると、配列を効果的に操作し、さまざまな NumPy 数学演算を実行できるようになります。たとえば、 Python でアドレスを変換してコーディングする方法に関するビデオをご覧ください。
その中で、Python Pandas と NumPy データ型を使用して自宅の住所をジオコーディングしました。
配列の操作
このセクションでは、NumPy でのさまざまな配列形状操作テクニックについて学びます。再形成、連結、コピー、分割、要素の追加/削除、インデックス付け、スライスについて説明します。
これらのテクニックは、データ サイエンス プロジェクトで配列データを効果的に操作するために不可欠です。
各サブセクションについて詳しく見ていきましょう。
1. リシェイプ
NumPy での配列の再形成は、実行する一般的なタスクです。関数またはアルゴリズムの要件に合わせて配列の形状を変更する必要がある場合があります。
配列の形状を変更するには、reshape()関数を使用します。
arr = np.array([1, 2, 3, 4, 5, 6])
new_arr = arr.reshape(2, 3)
これにより、1 次元配列が 2 行 3 列の 2 次元配列に変換されます。
注:指定する新しい形状が元の配列と同じサイズ (配列要素の数) であることを確認してください。
2. コピーする
copy()メソッドを使用して、ある NumPy 配列内の要素を別の NumPy 配列にコピーできます。代入演算子「=」を使用すると、浅いコピーが作成されることに注意してください。
#Creating a shallow copy of a NumPy array
a = np.array([9, 6, 12, 16, 20])
b = a
b[0] = 19
print(a) #Output:[19, 6, 12, 16, 20]
print(b) #Output:[19, 6, 12, 16, 20]
新しい配列は、システムのメモリ内の古い配列のみを参照します。これらには同じ要素が含まれており、互いに独立していません。
ディープ コピーを使用すると、古い配列と同じデータを含む、独立した新しい NumPy 配列を作成できます。
#Creating a deep copy of a NumPy array
a = np.array([9, 6, 12, 16, 20])
b = np.copy(a)
b[0] = 19
print(a) #Output:[9, 6, 12, 16, 20]
print(b) #Output:[19, 6, 12, 16, 20]
3. 連結
場合によっては、2 つの配列を 1 つの配列にマージする必要がある場合があります。NumPy では、concatenate()関数を使用して、既存の軸に沿って配列を結合できます。
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
result = np.concatenate((arr1, arr2))
これにより、arr1とarr2 が1 つの配列に結合されます。連結される配列は、指定された軸に沿ったものを除き、同じ形状である必要があることに注意してください。
4. 分割
分割は連結の逆です。Split() 関数を使用すると、配列をより小さなサブ配列に分割できます。
arr = np.array([1, 2, 3, 4, 5, 6])
result = np.split(arr, 3)
これにより、配列が 3 つの同じサイズのサブ配列に分割されます。指定する分割数が、指定された軸に沿って配列のサイズを均等に分割できることを確認してください。
5. 要素の追加/削除
NumPy 配列内の要素の追加または削除は、 append()関数とdelete()関数を使用して実行できます。前者を使用して配列の末尾に値を追加し、後者を使用して指定されたインデックスの要素を削除できます。
以下に例を示します。
arr = np.array([1, 2, 3])
arr = np.append(arr, [4, 5, 6]) # Appends values to the end of the array
arr = np.delete(arr, 0) # Removes the array element on index 0
NumPy 配列のサイズは固定であることに注意してください。append() または delete() を使用すると、新しい配列が作成され、元の配列は変更されません。
6. インデックス作成
NumPy 配列に対しては、Python のリストやタプルに対して行うのと同じ方法でインデックス操作を実行できます。特定の配列内の配列要素にアクセスまたは変更する方法を見てみましょう。
arr = np.array([1, 2, 3])
#Returns the array element on index 1
element_2 = b[1]
#Change the array element on index 0
arr[0]= 89
7. スライス
Python のリストやセットと同じ方法で、NumPy 配列をスライスしてデータのセクションを抽出または表示することもできます。以下の例を見てみましょう。
arr1 = np.array([1, 2, 3, 4, 5, 6, 7])
arr2 = np.array([(1, 2, 3, 6, 0), (4, 5, 6, 11, 13)])
# To return the first 3 elements of arr1
print(arr1[0:3]) #Output: [1, 2, 3]
# To return the second row in arr2
b = arr2[1, : ].copy() #Output: [4, 5, 6, 11, 13]
Note: Slicing creates a shallow copy that still references the main array. So, any change you make to the sliced data will be applied to the main array and vice versa.
To avoid this, you can use the copy() method to create a deep, independent copy.
Elementary Functions
In this section, you’ll learn about different elementary functions in NumPy, which will ease your data analysis tasks. We’ll cover arithmetic operations, trigonometry, and exponents and logarithms.
1. Arithmetic Operations
NumPy offers various math operations on arrays that make them simple and efficient to work with. array mathematics vector math
Some of the operations are:
Addition: numpy.add(x1, x2)
Subtraction: numpy.subtract(x1, x2)
Multiplication: numpy.multiply(x1, x2)
Division: numpy.divide(x1, x2)
Modulus: numpy.mod(x1, x2)
Power: numpy.power(x1, x2)
Square root: numpy.sqrt(x)
Note: When using these operations, the two arrays must be the same shape. If not, you’ll run into errors.
There is an exception for certain arrays thanks to a NumPy feature called broadcasting. We’ll cover that in a later section.
You can perform these operations element-wise on the arrays, which makes them highly efficient for large-scale data manipulation.
2. Trigonometry
Trigonometric functions play a significant role in various mathematical and scientific computations. NumPy provides a wide range of trigonometric functions.
Some of the essential functions are:
Sine: numpy.sin(x)
Cosine: numpy.cos(x)
Tangent: numpy.tan(x)
Arcsine: numpy.arcsin(x)
Arccosine: numpy.arccos(x)
Arctangent: numpy.arctan(x)
These functions work seamlessly with arrays, making it easier for you to perform vectorized computations on large datasets.
3. Exponents and Logarithms
Exponents and logarithms are crucial for various numerical operations. NumPy provides an extensive collection of functions for dealing with exponents and logarithms.
Some of the primary functions are:
Exponential: numpy.exp(x)
Logarithm(base e): numpy.log(x)
Logarithm(base 10): numpy.log10(x)
Logarithm(base 2): numpy.log2(x)
Utilizing these functions, you can quickly perform complex mathematical operations on each element in the array. This makes your data analysis tasks more accessible and efficient.
Array Analysis
In this section, we will discuss various techniques to analyze arrays and array elements in NumPy. Some of the key features we will cover include aggregate functions, statistical functions, searching, and sorting.
1. Aggregate Functions
NumPy provides several aggregate functions that allow you to perform operations on arrays, such as summing all their elements, finding the minimum or maximum value, and more:
sum: np.sum(your_array) – Calculate the sum of all the elements in the array.
min: np.min(your_array) – Find the minimum array element.
max: np.max(your_array) – Find the maximum array element.
means : np.mean(your_array) – 配列内の値の平均を計算します。
median : np.median(your_array) – 配列内の値の中央値を見つけます。
2. 統計関数
NumPy には、データ分析に役立つさまざまな統計関数もあります。
std: np.std(your_array) – 配列内の値の標準偏差を計算します。
var: np.var(your_array) – 配列内の値の分散を計算します。
corrcoef : np.corrcoef(your_array) – 配列の相関係数を計算します。
3. 検索する
NumPy 配列の検索は、さまざまな方法を使用して実行できます。
argmin: np.argmin(your_array) – 最小の配列要素のインデックスを見つけます。
argmax: np.argmax(your_array) – 最大の配列要素のインデックスを見つけます。
where: np.where(condition) – 指定された条件を満たす配列内の要素のインデックスを返します。
4. 仕分け
次の関数を使用して、配列内の要素を並べ替えることができます。
sort : np.sort(your_array) – 配列内の要素を昇順に並��替えます。
argsort: np.argsort(your_array) – 配列をソートするインデックスを返します。
これらの関数とテクニックを使用すると、NumPy 配列を簡単に分析および操作して、貴重な洞察を明らかにし、データ分析の取り組みをサポートできます。
高度な機能
このセクションでは、データをより効率的に操作できるようにするための、NumPy の高度な関数をいくつか見ていきます。ブロードキャスト関数と線形代数関数について説明します。
1. 放送
ブロードキャストは、さまざまな形状やサイズの配列に対して操作を実行できるようにする強力な NumPy 機能です。これは、小さい配列の次元を大きい配列に合わせて自動的に拡張することで機能し、要素ごとの操作の実行が容易になります。
以下に例を示します。
import numpy as np
A = np.array([1, 2, 3])
B = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
C = A + B
この例では、1D 配列 A が 2D 配列 B の形状に一致するようにブロードキャストされ、要素ごとの加算が可能になります。
ブロードキャストを使用する場合は、次のルールに留意してください。
配列の次元は互換性がある必要があります (同じサイズか、いずれか 1 つが 1)。
ブロードキャストは後続のディメンションから適用され、先頭のディメンションに向かって動作します。
2. 線形代数
NumPy は、多次元配列を操作するときに役立ついくつかの線形代数関数を提供します。これらの機能には次のようなものがあります。
np.dot(A, B): 2 つの配列の内積を計算します。
np.linalg.inv(A) : 正方行列の逆行列を計算します。
np.linalg.eig(A) : 正方行列の固有値と固有ベクトルを計算します。
np.linalg.solve(A, B):線形連立方程式を解きます。ここで、A は係数行列、B は定数行列です。
これらの操作を実行する前に、行列に互換性があるかどうかを必ず確認してください。
入出力
このセクションでは、NumPy を使用して配列を保存およびロードする方法と、ファイルを読み書きする方法について説明します。
1. 配列の保存とロード
配列を保存するには、NumPy のnp.save()関数を使用できます。この関数は、ファイル名と配列を 2 つの主な引数として受け取ります。
import numpy as np
arr = np.array([1, 2, 3])
np.save('my_array.npy', arr)
保存された配列をロードするには、ファイル名を引数として指定してnp.load()関数を使用します。
loaded_array = np.load('my_array.npy')
print(loaded_array)
# Output: array([1, 2, 3])
np.save()関数とnp.load()関数を使用して、複数の配列を保存およびロードすることもできます。
2. テキスト ファイルの読み取りと書き込み
NumPy は、 np.loadtxt()やnp.savetxt()など、配列を含むテキスト ファイルを読み書きする関数を提供します。これらの関数を使用して、txt や CSV ファイルなどのファイル形式からデータを保存およびロードできます。
テキスト ファイルを配列に読み取るには、np.loadtxt()関数を使用します。ファイル名を主な引数として受け取り、区切り文字や dtype などを指定するためのオプションの引数もサポートします。
arr_from_txt = np.loadtxt('data.txt', delimiter=',')
print(arr_from_txt)
CSV ファイルからデータを読み取るには、np.loadtxt()関数を使用することもできます。ただし、区切り文字は必ずカンマ「,」に設定してください。
配列をテキスト ファイルに書き込むには、np.savetxt()関数を使用します。この関数は、ファイル名と配列を 2 つの主な引数として受け取り、その後に区切り文字やヘッダーなどのオプションの引数を受け取ります。
arr_to_txt = np.array([[1, 2, 3], [4, 5, 6]])
np.savetxt('output_data.txt', arr_to_txt, delimiter=',')
これらの入出力関数を使用すると、NumPy を使用したデータ処理および操作タスクで配列やテキスト ファイルを効率的に操作できるようになります。
以下からチートシートをダウンロードしてください
最終的な考え
Numpy Python ライブラリを使い始めるために知っておく必要があるのはこれだけです。ライブラリを使用する際の便利なリファレンスとして、Python Numpy チートシートを使用することもできます。
より高度な機能については、 NumPy のドキュメントを参照してください。新しい開発者と経験豊富な開発者の両方のためにまとめた、この楽しいPython チートシートもチェックしてください。
幸運を!
Python における Self とは: 実際の例
R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。
この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。
このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。
この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。
LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。
LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。
このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。
これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。
LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて