記事ディレクトリ
- 序文
- 1. NumPyの基礎トレーニング
-
- 1.1 長さが 10 ですべて 0 の 1 次元 ndarray オブジェクトを作成し、5 番目の要素を 1 にします
- 1.2 10 から 49 までの要素を持つ ndarray オブジェクトを作成する
- 1.3 質問 2 のすべての要素の位置を逆にする
- 1.4 10*10 ndarray オブジェクトを作成し、最大要素と最小要素を出力する
- 1.5 10*10 ndarray オブジェクトを作成します。行列の境界はすべて 1、内部はすべて 0 です。
- 1.6 各行が 0 ~ 4 の範囲の 5*5 行列を作成します。
- 1.7 0 ~ 1 の範囲の長さ 12 の算術シーケンスを作成します。
- 1.8 長さ 10 のランダムな配列を作成して並べ替える
- 1.9 長さ 10 のランダムな配列を作成し、最大値を 0 に置き換えます
- 2、NumPy集中トレーニング
- エピローグ
- 関連書籍
序文
こんにちは、みんな!私はオリジナルの心です。この号では、NumPy のケースの統合と強化の演習をお届けします。質問は合計 17 問あります。個人テストです。
1. NumPyの基礎トレーニング
1.1 長さが 10 ですべて 0 の 1 次元 ndarray オブジェクトを作成し、5 番目の要素を 1 にします
n1 = np.zeros(10,dtype=np.int16)
n1[4] = 1
n1
1.2 10 から 49 までの要素を持つ ndarray オブジェクトを作成する
n2 = np.arange(10,50)
n2
1.3 質問 2 のすべての要素の位置を逆にする
n2[::-1]
1.4 10*10 ndarray オブジェクトを作成し、最大要素と最小要素を出力する
n4 = np.random.random((10,10))
print(np.max(n4))
print(np.min(n4))
1.5 10*10 ndarray オブジェクトを作成します。行列の境界はすべて 1、内部はすべて 0 です。
n5 = np.zeros((10,10),dtype=np.int16)
n5[[0,9]] = 1
n5[:,[0,9]] = 1
print(n5)
1.6 各行が 0 ~ 4 の範囲の 5*5 行列を作成します。
n6 = np.array(range(0,5))
n6
1.7 0 ~ 1 の範囲の長さ 12 の算術シーケンスを作成します。
n7 = np.linspace(0,1,num=12)
n7
1.8 長さ 10 のランダムな配列を作成して並べ替える
n8 = np.random.random(10)
np.sort(n8)
1.9 長さ 10 のランダムな配列を作成し、最大値を 0 に置き換えます
n9 = np.random.random(10)
n9[np.argmax(n9)] = 0
print(n9)
2、NumPy集中トレーニング
2.1 4 次元行列が与えられた場合、最後の 2 次元の合計を求めます
n1 = np.random.randint(1,10,(2,3,4,5)) # 四维数组
display(n1)
np.sum(n1,(2,3))
# axis = 0 表示第一个维度
# axis = 1 表示第二个维度
# axis = 2 表示第三个维度
# axis = 3 表示第四个维度
2.2 配列 [1,2,3,4,5] が与えられた場合、各要素の後に 3 つの 0 を挿入します。
n = np.arange(1,6)
display(n)
n2 = np.zeros(17,dtype=np.int16)
display(n2)
n2[::4] = n
n2
2.3 2 次元行列が与えられた場合、2 行の要素を交換する
n = np.random.randint(1,10,(3,3))
display(n)
n = n[[1,0,2]] # 交换第一行和第二行
display(n)
2.4 長さ 100,000 のランダム配列を作成し、2 つの方法を使用して 3 乗を求め、かかる時間を比較します。
n = np.random.randint(0,10,100000)
%timeit n ** 3
%timeit np.power(n,3)
2.5 5 * 3 ランダム行列と 3 * 2 ランダム行列を作成し、行列の積を求める
n1 = np.random.randint(0,10,(5,3))
n2 = np.random.randint(0,10,(3,2))
display(n1,n2)
np.dot(n1,n2)
2.6 行列の各行の要素が行の平均値から減算されます。
n = np.random.randint(0,10,(3,4))
display(n)
# 行平均值
n2 = np.mean(n,axis=1).reshape(3,1)
display(n2)
n - n2
2.7 次の行列を出力します。
n = np.zeros((8,8),dtype = np.int16)
display(n)
n[::2,1::2] = 1
n[1::2,0::2] = 1
display(n)
2.8 5*5 ランダム行列の正規化
n = np.random.randint(0,10,(5,5))
display(n)
min1 = np.min(n)
max1 = np.max(n)
n = (n - min1) / (max1 - min1)
display(n)
注: このトピックの資料は、「Qianfeng Education」から引用されました。
エピローグ
今回はそんな話題をお届けします!皆さんがより実践的な演習を行って強化し、定着させ、NumPy をよりよくマスターできることを願っています。
関連書籍
直接記事を書く | リンク |
---|---|
前号のレビュー | 【データ分析 - NumPyの基礎入門⑤】 - NumPyの基本操作 - 2 |
次号のプレビュー | 【データ分析 - Pandas 基礎入門①】 - Pandas 基礎入門 - 1 |