もともと自分自身ではない理論は非常に簡単で、ダイナミックプログラミングはまた編集者注を知っているが、ソースまたはもう少し難しい上に実装され、今や単にタイトルの説明を与えたNLPレッスン動的プログラミング、日本を書き、そして半分を書きました、ジュニアパートナーはまた、例えば、を考えることも、我々は今、1元硬貨、2ドル硬貨、5元と10元コインコインを持っています。私たちは、コインの最小数を保証し、Mコイン金額をしたいか、何で私たちの変更プロセスは、例2で、我々は今、セグメントN(Nは一定の長さの整数である)、N個のセグメントにカットし、M-メートルのロープを持っています最大の製品の結果を保証するために、ロープの長さを乗じた、我々はこれを書くために戻って頭に数日を傍受する必要があります。今日、我々は、使用numpyのについて私たちは演習を通じて利用状況numpyのを見て、この時間を話を続けます。
問題:ARRは、ARRを変更せずに、すべての奇数-1を置き換えます。(ヒント場合)
ARR = np.arange(10 )
アウト = np.where(ARR%2 == 1、-1、ARR)
構文は、まず、条件、パラメータをパラメータと第2、第3、第入力パラメータ配列である理由の条件を満たすように交換する場合。
質問:指定された列の二次元アレイの2次元配列に変換:np.arange(10)
ARR = np.arange(10 )
アウト = np.reshape(2、-1)
-1二つのパラメータであれば、限定するものではない(行、列)構文を整形
問題:垂直に積み重ねられたアレイとアレイB、所与:= np.arange(10).reshape(2、-1)、B = np.repeat(1、10).reshape(2、-1)所望の出力:
>配列([0、1、2、3、4]
> [5、6、7、8、9]
> [1、1、1、1、1]
> [1、1、1、1、1]])
np.arange = A(10).reshape(2、-1 ) B = np.repeat(1、10).reshape(2、-1 ) np.concatenate([A、B]、軸 = 0) #のメソッド np.vstack([B]) #方法II np.r_ [B] #の方法3
方法:構文パラメータのリストである連結軸= 0は、横縦スタックであります
方法2:vstack垂直に積み重ねられた、横方向に延びhstack。
方法3:R_垂直に積み重ね、横方向に延びC_。
問題:ハードコードされたを使用せずに、次のモードを作成します。numpyの機能は、入力配列と以下。
与えられました:
= np.array([1,2,3]) `所望の出力:
>アレイ([1、1、1、2、2、2、3、3、3、1、2、3、1、2、3、1、2、3])
= np.array([1,2,3 ])
np.r_ [np.repeat( 3)、np.tile(3)]
説明:np.repeat(3)配列を得るために、([1、1、1、2、2、2、3、3、3])、np.tile(3)アレイを得た([1、 2、3、1、2、3、1、2、3])、次いで積層するR_
問題:配列と配列bの間の共通の用語を取得します。ABの交点
np.intersect1d(B)
問題:内のアレイ配列bからすべての項目を削除します。与えられた:A = np.array([1,2,3,4,5])B = np.array([5,6,7,8,9])、所望の出力:>アレイ([1,2 3、4])
= np.array([1,2,3,4,5 ]) B = np.array([5,6,7,8,9 ]) np.setdiff1d(B)
setdiffld順序を使用する場合、第1のパラメータデータの2番目の要素を除去することを含む、2番目のパラメータの残りの要素を含んでいないことに留意されたいです。(ビットRaozuiでもよいです)。
問題:要素AとBのマッチング取得位置を。
= np.array([1,2,3,2,3,4,3,4,5,6 ]) B = np.array([7,2,10,2,7,4,9,4 、9,8 ]) np.where( == b)は
質問:5-10の間のすべてのアイテムを取得します。
= np.array([2、6、1、9、10、3、27 ]) インデックス = np.where((A> = 5)&(<= 10 )) [インデックス]
質問:ARR交換アレイの行1および2。
ARR = np.arange(9).reshape(3,3 )
ARR [ 1,0,2] ,:]
問題:配列ARR交換カラム1と2。
ARR = np.arange(9).reshape(3,3 ) プリント(ARR) ARR [:, [ 1,0,2]
質問:二次元配列ARRのライン反転。
ARR = np.arange(9).reshape(3,3 )
[:: ARR -1]
質問:ARRの列反転の二次元アレイ。
ARR = np.arange(9).reshape(3,3 )
ARR
ARR [:, :: -1]
問題:5-10のランダム進数を含むように5×3の二次元アレイの形状を作成します。
ARR = np.arange(9).reshape(3,3 ) #解決方法1: rand_arr = np.random.randint(低い= 5、ハイ= 10、サイズ=(5,3))+ np.random.random ((5,3 )) #のプリント(rand_arr) #解決方法2: rand_arr = np.random.uniform(5,10、サイズ=(5,3 )) プリント(rand_arr)
これは、精巧[B] ARRのスライスであるARRべきである :実施例[ 2 :7 :2 ] 、#2の間隔で、インデックス7が停止するインデックス2から始まる、と我々の2次元アレイ状に我々は、 '使用することができ;例えば、[X、M]、我々は、M + 1 X + 1行目の最初の要素を削除します。
そこ:そしてそこに...と使用。私たちは例を見て:それはすべてである、などの[:]、[2]我々はどのように多くの行3列目に彼のパイプをすべて削除したいものです。同僚[2:]、あまりにも、すべての2行目、彼はしかし何列も。
最初取る、要素:我々は:: Nから2つのコロンによって接合され、上記の前記要素、工程がNであり、::それのすべてを行ったこと。ステップサイズは逆になり、負です。我々はそれ〜NUMPの使用の次の問題について話し続けます!