データサイエンティストに不可欠なパンダ機能トップ5[2022]
公開: 2021-01-02Pandasは、Pythonを使用したデータサイエンスとデータ分析に関して、明らかに最も使用され、愛されているライブラリの1つです。 何が特別なのですか? このチュートリアルでは、Pandasをデータサイエンティストのツールキットの非常に便利なツールにする5つの機能について説明します。
このチュートリアルを終了するまでに、Pandasの以下の関数と、それらをアプリケーションで使用する方法について理解できるようになります。
- value_counts
- groupby
- locおよびiloc
- ユニークでユニーク
- カットとqcut
目次
データサイエンティストのためのトップパンダ機能
1. value_counts()
Pandasのvalue_counts()関数は、データフレームの列にあるすべての一意の要素の数を表示するために使用されます。
上級者向けのヒント: 実例を示すために、Titanicデータセットを使用します。
ここで、Embarked関数のクラスの数を見つけるために、value_counts関数を呼び出すことができます。
train [ 'Embarked' ] .value_counts() |
#出力: S 644 C 168 Q 77 |
また、これらの数値があまり意味をなさない場合は、代わりにそれらのパーセンテージを表示できます。
train [ 'Embarked' ] .value_counts(normalize = True ) |
#出力: S 0.724409 C 0.188976 Q 0.086614 |
さらに、value_countsは、デフォルトでNaNまたは欠落値を考慮しません。これは、チェックするために非常に重要です。 これを行うには、パラメーターdropnaをfalseに設定します。
train [ 'Embarked' ] .value_counts(dropna = False ) |
#出力: S 644 C 168 Q 77 NaN 2 |
2. group_by()
Pandas group_byを使用すると、データフレームを特定の列で分割およびグループ化して、データのパターンと詳細を表示できるようになります。 Group_byには、分割、適用、結合の3つの主要なステップが含まれます。
train.groupby( 'Sex' ).mean() |
出力:
ご覧のとおり、データフレームを機能「性別」でグループ化し、手段を使用して集計しました。
Pandasの組み込みの視覚化を使用してプロットすることもできます。
df.groupby( 'Sex' ).sum()。plot(kind = 'bar' ) |
階層分割のために複数の機能を使用してグループ化することもできます。
df.groupby([ 'Sex' 、 'Survived' ])[ 'Survived' ] .count() |
必読:パンダのインタビューの質問
3.locおよびiloc
Pandasでのインデックス作成は、最も基本的な操作の1つであり、それを行うための最良の方法は、locまたはilocのいずれかを使用することです。 「loc」は場所を表し、「i」はインデックス付きの場所を表します。 つまり、列/行の名前またはラベルを使用してデータフレームにインデックスを付ける場合は、locを使用します。 また、位置を使用して列または行にインデックスを付ける場合は、iloc関数を使用します。 最初にlocをチェックしてみましょう。
train.loc [ 2 、 '性別' ] |
上記の操作により、行インデックス2と列'sex'の要素が得られます。 同様に、性別列のすべての値が必要な場合は、次のようにします。
train.loc [:、 '性別' ] |
また、次のように複数の列を除外できます。
train.loc [:、 '性別' 、 '乗船' ] |
次のように、loc内のブール条件を使用してフィルターで除外することもできます。
train.loc [train.age> = 25 ] |
特定の行のみを表示するには、locを使用してデータフレームをスライスできます。
train.loc [ 100 : 200 ] |
さらに、次のように列軸でデータフレームをスライスできます。
train.loc [:、 '性別' : '運賃' ] |
上記の操作は、すべての行の列「sex」から「fare」にデータフレームをスライスします。
それでは、ilocに移りましょう。 ilocは、インデックス番号または位置を使用してインデックスを作成するだけです。 次のようにデータフレームをスライスできます。
train.iloc [ 100 : 200、2 : 9 ] _ |
上記の操作では、行が100から199に、列が2から8にスライスされます。同様に、データを水平方向に分割する場合は、次のように実行できます。
train.iloc [: 300 、: ] |
4. unique()およびnunique()
Pandas uniqueは、任意の機能からすべての一意の値を取得するために使用されます。 これは主に、データのカテゴリ機能のカテゴリを取得するために使用されます。 Uniqueは、NaNを含むすべての一意の値を示します。 それは別の一意の値として扱われます。 見てみましょう:
train [ 'sex' ] .unique() |
#出力: [ '女性' 、 '男性' ] |
ご覧のとおり、「性別」機能に固有の値が表示されます。

同様に、一部の機能には一意の値が多数ある可能性があるため、一意の値の数を確認することもできます。
train [ 'sex' ] .nunique() |
#出力: 2 |
ただし、nunique()はNaNを一意の値とは見なさないことに注意してください。 データにNaNが含まれている場合は、dropnaパラメーターをFalseとして渡して、PandasがNaNも含むカウントを確実に提供するようにする必要があります。
train [ 'sex' ] .nunique(dropna = False ) |
#出力: 3 |
5. cut()およびqcut()
パンダカットは、機能を離散化するために範囲内の値をビンに入れるために使用されます。 それに飛び込みましょう。 ビニングとは、連続値の範囲に基づいて、数値または連続の特徴を離散的な値のセットに変換することを意味します。 これは、データポイントがどの範囲にあるかに基づいて傾向を確認する場合に便利です。
小さな例でこれを理解しましょう。
0〜100の範囲の7人の子供にマークがあるとします。 これで、すべての子供のマークを特定の「ビン」に割り当てることができます。
df = pd.Dataframe(data = { '名前' :[ 'Ck' 、 'Ron' 、 'Mat' 、 'Josh' 、 'Tim' 、 'SypherPK' 、 'Dew' 、 'Vin' ]、 'マーク' : [ 37、91、66、42、99、81、45、71 ] _ _ _ _ _ _ _ _ _ }) df [ 'marks_bin' ] = pd.cut(df [ ' Marks ' ] 、 bins = [ 0、50、70、100 ] 、 labels = [ 1、2、3 ] ) |
次に、出力を新しい機能として追加するだけで、マーク機能を削除できます。 新しいデータフレームは次のようになります。
#出力: 名前マークmarks_bin 0 Ck 37 1 1ロン91 3 2マット66 2 3ジョシュ42 1 4ティム99 3 5 SypherPK 81 3 6露45 1 7ヴィン71 3 |
したがって、bins = [0、50、70、100]と言うと、 3つの範囲があることを意味します。
ビン1の場合は0〜50。
ビン2の場合は51から70、および
ビン3に属する71から100。
そのため、この機能にはマークは含まれていませんが、その生徒のマークが含まれる範囲またはビンが含まれています。
cut()と同様に、Pandasもqcut()と呼ばれる兄弟関数を提供します。 Pandas qcutは分位数の数を取り込み、データ分布に基づいてデータポイントを各ビンに分割します。 したがって、上記のcut関数をqcutに変更するだけです。
df [ 'marks_bin' ] = pd.qcut(df [ ' Marks' ] 、 q = 3 、 labels = [ 1、2、3 ] ) |
上記の操作では、パンダにフィーチャを3つの等しい部分に分割し、ラベルを割り当てるように指示します。 出力は次のようになります。
名前マークmarks_bin 0 Ck 37 1 1ロン91 3 2マット66 2 3ジョシュ42 1 4ティム99 3 5 SypherPK 81 3 6露45 1 7ヴィン71 2 |
最後の値が3から2にどのように変化したかに注目してください。
また読む:パンダデータフレームAstype
行く前に
最もよく使用されるパンダ関数をいくつか見ました。 しかし、重要なのはこれらだけではありません。パンダが主に使用する関数についてもっと学ぶことをお勧めします。 これは、Pandasが持つすべての機能を使用しているわけではなく、そのうちのいくつかだけを使用している可能性があるため、優れた効率的なアプローチです。
世界のトップ大学からデータサイエンスコースを学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。
なぜパンダライブラリはとても人気があるのですか?
このライブラリは、データサイエンティストやデータアナリストの間で非常に人気があります。 この理由は、多数のファイル形式の優れたサポートと、抽出されたデータを操作するための豊富な機能のコレクションです。 NumPyなどの他のライブラリやパッケージと簡単に統合できます。
この強力なライブラリは、膨大なデータセットを柔軟に操作するためのさまざまな便利な機能を提供します。 マスターすると、数行のコードで優れたタスクを簡単に実行できます。
マージ関数とは何ですか?なぜそれが使用されるのですか?
マージ関数は、2つのデータフレームの複数の行または列をマージするために使用されるPandasデータフレームの特別な関数です。 これはハイメモリ結合操作であり、リレーショナルデータベースに似ています。 on = Column Nameを使用して、共通の列のデータフレームをマージできます。
left_on=列名またはright_on=列名を更新して、左または右のデータフレームの列をキーとして使用してテーブルを整列させることができます。
Pandasライブラリとは別に、データサイエンス用の他のPythonライブラリは何ですか?
Pandasライブラリとは別に、データサイエンスに最適なライブラリのいくつかと見なされているPythonライブラリがたくさんあります。 これらには、PySpark、TensorFlow、Matplotlib、Scikit Learn、SciPyなどが含まれます。 それらのそれぞれは、そのユニークで驚くべき特徴と機能のために広く使われています。
SciKit Learnは、統計データを処理する必要がある場合によく使用されるように、すべてのライブラリには独自の重要性があります。 データの分析とは別に、これらのすばらしいライブラリが提供する機能を使用して、ダッシュボードやビジュアルレポートを作成することもできます。