Python の Pandas ライブラリは数学的データの操作に非常に役立ち、機械学習の分野で広く使用されています。これは、適切に機能するための多くの方法で構成されています。 場所() そして iloc() それらの方法の 1 つです。これらは、 パンダのデータフレーム 。これらは、DataFrame からのデータの便利な選択に役立ちます。 パイソン 。これらは、いくつかの条件に従ってデータをフィルタリングするために使用されます。
Pandas DataFrame の loc() と iloc() の違い
ここでは、Pandas DataFrame の loc() 関数と iloc() 関数の違いを見ていきます。これら 2 つの違いを確認して比較するために、段落全体で使用するサンプル データフレームを作成します。これら両方のメソッドの動作については、自動車のサンプル データセットで説明されています。
Python3
sh スクリプトを実行可能にする
# importing the module> import> pandas as pd> > # creating a sample dataframe> data>=> pd.DataFrame({>'Brand'>: [>'Maruti'>,>'Hyundai'>,>'Tata'>,> >'Mahindra'>,>'Maruti'>,>'Hyundai'>,> >'Renault'>,>'Tata'>,>'Maruti'>],> >'Year'>: [>2012>,>2014>,>2011>,>2015>,>2012>,> >2016>,>2014>,>2018>,>2019>],> >'Kms Driven'>: [>50000>,>30000>,>60000>,> >25000>,>10000>,>46000>,> >31000>,>15000>,>12000>],> >'City'>: [>'Gurgaon'>,>'Delhi'>,>'Mumbai'>,> >'Delhi'>,>'Mumbai'>,>'Delhi'>,> >'Mumbai'>,>'Chennai'>,>'Ghaziabad'>],> >'Mileage'>: [>28>,>27>,>25>,>26>,>28>,> >29>,>24>,>21>,>24>]})> > # displaying the DataFrame> display(data)> |
>
>
出力
Brand Year Kms Driven City Mileage 0 Maruti 2012 50000 Gurgaon 28 1 Hyundai 2014 30000 Delhi 27 2 Tata 2011 60000 Mumbai 25 3 Mahindra 2015 25000 Delhi 26 4 Maruti 2012 10000 Mumbai 28 5 Hyundai 2016 46000 Delhi 29 6 Renault 2014 31000 Mumbai 24 7 Tata 2018 15000 Chennai 21 8 Maruti 2019 12000 Ghaziabad 24>
Python loc() 関数
の loc() 関数 これはラベルベースのデータ選択方法であり、選択する行または列の名前を渡す必要があることを意味します。 iloc() とは異なり、このメソッドには渡される範囲の最後の要素が含まれます。 loc() は、iloc() とは異なり、ブール値データを受け入れることができます。多くの操作は、次のような loc() メソッドを使用して実行できます。
例 1: 条件に応じてデータを選択する
この例では、コードはloc>ブランドが「Maruti」で走行距離が 25 を超える行をデータフレームから選択して表示する関数で、走行距離の多い Marti 車に関する関連情報が表示されます。
Python3
# selecting cars with brand 'Maruti' and Mileage>25>> => 'Maruti'>) & (data.Mileage>>>25>)])> |
>
>
出力
Brand Year Kms Driven City Mileage 0 Maruti 2012 50000 Gurgaon 28 4 Maruti 2012 10000 Mumbai 28>
例 2: データフレームからの行範囲の選択
この例では、コードはloc>DataFrame から 2 ~ 5 (両端を含む) の範囲のインデックスを持つ行を抽出して表示する関数で、データセット内の特定の範囲の自動車に関する情報を提供します。
Python3
私のコンピュータ画面の寸法はどれくらいですか
# selecting range of rows from 2 to 5> display(data.loc[>2>:>5>])> |
>
Javaのマージソート
>
出力
Brand Year Kms Driven City Mileage 2 Tata 2011 60000 Mumbai 25 3 Mahindra 2015 25000 Delhi 26 4 Maruti 2012 10000 Mumbai 28 5 Hyundai 2016 46000 Delhi 29>
例 3: 任意の列の値の更新
この例では、コードはloc>データフレーム内の製造年が 2015 年より前の車の「走行距離」値を 22 に更新する関数。その後、走行距離列に加えられた変更を反映して、変更されたデータフレームが表示されます。
Python3
# updating values of Mileage if Year <2015> data.loc[(data.Year <>2015>), [>'Mileage'>]]>=> 22> display(data)> |
>
文字列に含まれる
>
出力
Brand Year Kms Driven City Mileage 0 Maruti 2012 50000 Gurgaon 22 1 Hyundai 2014 30000 Delhi 22 2 Tata 2011 60000 Mumbai 22 3 Mahindra 2015 25000 Delhi 26 4 Maruti 2012 10000 Mumbai 22 5 Hyundai 2016 46000 Delhi 29 6 Renault 2014 31000 Mumbai 22 7 Tata 2018 15000 Chennai 21 8 Maruti 2019 12000 Ghaziabad 24>
Python iloc() 関数
の iloc() 関数 これはインデックスベースの選択メソッドであり、特定の行/列を選択するにはメソッド内で整数インデックスを渡す必要があることを意味します。このメソッドには、loc() とは異なり、渡される範囲の最後の要素は含まれません。 iloc() は、loc() とは異なり、ブール値データを受け入れません。 iloc() を使用して実行される操作は次のとおりです。
例 1: 整数インデックスを使用した行の選択
この例では、コードはiloc>DataFrame からインデックス 0、2、4、7 を持つ特定の行を抽出して表示し、データセット内で選択された車に関する情報を表示する関数。
Python3
# selecting 0th, 2nd, 4th, and 7th index rows> display(data.iloc[[>0>,>2>,>4>,>7>]])> |
>
js セットタイムアウト
>
出力
Brand Year Kms Driven City Mileage 0 Maruti 2012 50000 Gurgaon 28 2 Tata 2011 60000 Mumbai 25 4 Maruti 2012 10000 Mumbai 28 7 Tata 2018 15000 Chennai 21>
例 2: 列と行の範囲を同時に選択する
この例では、コードはiloc>行 1 ~ 4、列 2 ~ 4 を含むデータフレームのサブセットを抽出して表示する関数。これにより、データセット内の特定の範囲の自動車とその関連属性に関する情報が提供されます。
Python3
# selecting rows from 1 to 4 and columns from 2 to 4> display(data.iloc[>1>:>5>,>2>:>5>])> |
>
>
出力
Kms Driven City Mileage 1 30000 Delhi 27 2 60000 Mumbai 25 3 25000 Delhi 26 4 10000 Mumbai 28>