ホーム テクノロジー 開発 非公開: Pandas が最も人気のある Python データ分析ライブラリである理由

Pandas が最も人気のある Python データ分析ライブラリである理由


Pandas は、Python 用の最も人気のあるデータ分析ライブラリです。データ アナリスト、データ サイエンティスト、機械学習エンジニアによって広く使用されています。

NumPy と並んで、データや AI を扱う人にとって必知のライブラリとツールの 1 つです。

この記事では、Pandas と、データ エコシステムで Panda の人気を高めている機能について説明します。

パンダとは何ですか?

Pandas は Python 用のデータ分析ライブラリです。これは、Python コード内からデータを操作および操作するために使用されることを意味します。 Pandas を使用すると、データを効率的に読み取り、操作、視覚化、分析、保存できます。

パンダ」という名前は、複数の個体を長期にわたって観察して得られるデータを指す計量経済学の用語であるPan el Data という言葉を組み合わせたものです。 Pandas は、もともと 2008 年 1 月に Wes Kinney によってリリースされ、それ以来、そのユースケースで最も人気のあるライブラリに成長しました。

Pandas の中心となるのは、Dataframe と Series という、よく知っておくべき 2 つの重要なデータ構造です。 Pandas でデータセットを作成またはロードすると、データセットはこれら 2 つのデータ構造のいずれかとして表されます。

次のセクションでは、それらが何であるか、どのように異なるのか、そしていつどちらかを使用するのが理想的であるかを検討します。

主要なデータ構造

前述したように、Pandas のすべてのデータは、Dataframe または Series の 2 つのデータ構造のいずれかを使用して表現されます。これら 2 つのデータ構造については、以下で詳しく説明します。

データフレーム

このサンプル データフレームは、このセクションの下部にあるコード スニペットを使用して生成されました。
Pandas のデータフレームの例
Pandas のデータフレームの例

Pandas のデータフレームは、列と行を含む 2 次元のデータ構造です。これは、スプレッドシート アプリケーションのスプレッドシートやリレーショナル データベースのテーブルに似ています。

これは列で構成されており、各列はデータセット内の属性または特徴を表します。これらの列は個々の値で構成されます。このリストまたは一連の個別の値は、Series オブジェクトとして表されます。 Series データ構造については、この記事の後半で詳しく説明します。

データフレーム内の列には、互いに区別できるようにわかりやすい名前を付けることができます。これらの名前は、データフレームの作成時またはロード時に割り当てられますが、いつでも簡単に名前を変更できます。

列内の値は同じデータ型である必要がありますが、列は同じ型のデータを保持する必要はありません。これは、データセット内の名前列には文字列のみが格納されることを意味します。ただし、同じデータセットに int を格納する age などの他の列を含めることもできます。

データフレームには、行を参照するために使用されるインデックスもあります。異なる列にまたがる値が同じインデックスを持つ場合、行が形成されます。デフォルトでは、インデックスには番号が付けられていますが、データセットに合わせて再割り当てできます。例 (上の図、以下のコード) では、インデックス列を「months」列に設定します。

 import pandas as pd

sales_df = pd.DataFrame({
    'Month': ['January', 'February', 'March'],
    'Jane Doe': [5000, 6000, 5500],
    'John Doe': [4500, 6700, 6000]
})

sales_df.set_index(['Month'], inplace=True)

print(sales_df) 

シリーズ

このサンプル シリーズは、このセクションの最後にあるコードを使用して生成されました。
2023-05-20-22-46-14 のスクリーンショット
2023-05-20-22-46-14 のスクリーンショット

前に説明したように、Series は Pandas でデータの列を表すために使用されます。したがって、シリーズは 1 次元のデータ構造です。これは、2 次元のデータフレームとは対照的です。

シリーズは一般にデータフレーム内の列として使用されますが、データセットの 1 つの列に記録される属性が 1 つだけである場合、それ自体で完全なデータセットを表すこともできます。というか、データセットは単なる値のリストです。

シリーズは単なる 1 つの列であるため、名前を付ける必要はありません。ただし、シリーズ内の値にはインデックスが付けられます。データフレームのインデックスと同様に、シリーズのデータ​​フレームはデフォルトの番号付けから変更できます。

例 (上の図、以下のコード) では、Pandas Series オブジェクトのset_axisメソッドを使用して、インデックスが異なる月に設定されています。

 import pandas as pd

total_sales = pd.Series([9500, 12700, 11500])
months = ['January', 'February', 'March']

total_sales = total_sales.set_axis(months)

print(total_sales)

パンダの特徴

Pandas とは何か、および Pandas が利用する主要なデータ構造についてはよく理解できたので、Pandas を強力なデータ分析ライブラリにし、結果としてデータ サイエンスと機械学習の分野で非常に人気のある機能について説明します。生態系。

#1.データ操作

Dataframe オブジェクトと Series オブジェクトは変更可能です。必要に応じて列を追加または削除できます。さらに、Pandas では行を追加したり、データセットを結合したりすることもできます。

データの正規化や要素ごとの論理比較などの数値計算を実行できます。 Pandas では、データをグループ化し、平均、平均、最大、最小などの集計関数を適用することもできます。これにより、Pandas でのデータの操作が簡単になります。

#2.データクリーニング

画像-234
画像-234

現実世界から取得されたデータには、多くの場合、処理が困難な値や、機械学習モデルでの分析や使用に適さない値が含まれています。データのデータ型が間違っているか、形式が間違っているか、完全に欠落している可能性があります。いずれの場合でも、このデータを使用するには、クリーニングと呼ばれる前処理が必要です。

Pandas には、データのクリーンアップに役立つ関数があります。たとえば、Pandas では、重複した行を削除したり、データが欠落している列または行を削除したり、値をデフォルト値や列の平均などの他の値に置き換えたりできます。 Pandas と連携して、より多くのデータ クリーニングを実行できる関数やライブラリがさらに増えています。

#3.データの視覚化

このグラフは、このセクションの下のコードで生成されました
2023-05-22-07-33-44 のスクリーンショット
2023-05-22-07-33-44 のスクリーンショット

Pandas は Matplotlib のような視覚化ライブラリではありませんが、基本的なデータ視覚化を作成するための関数を備えています。これらは基本的なものではありますが、ほとんどの場合、それでも十分に機能します。

Pandas を使用すると、棒グラフ、ヒストグラム、散布行列、その他のさまざまな種類のグラフを簡単にプロットできます。これを Python で実行できるいくつかのデータ操作と組み合わせると、さらに複雑な視覚化を作成してデータをより深く理解できます。

 import pandas as pd

sales_df = pd.DataFrame({
    'Month': ['January', 'February', 'March'],
    'Jane Doe': [5000, 6000, 5500],
    'John Doe': [4500, 6700, 6000]
})

sales_df.set_index(['Month'], inplace=True)

sales_df.plot.line() 

#4.時系列分析

Pandas は、タイムスタンプ付きデータの操作もサポートしています。 Pandas が列に日時値があると認識すると、同じ列に対して時系列データを操作するときに役立つ多くの操作を実行できます。

これには、期間ごとに観測をグループ化し、 summeanなどの集計関数を適用したり、最小値と最大値を使用して最も古い観測値または最新の観測値を取得したりすることが含まれます。もちろん、Pandas の時系列データを使用してできることは他にもたくさんあります。

#5. Pandas の入出力

パンダの入出力
パンダの入出力

Pandas は、最も一般的なデータ ストレージ形式からデータを読み取ることができます。これらには、JSON、SQL ダンプ、CSV が含まれます。これらの形式の多くでファイルにデータを書き込むこともできます。

このさまざまなデータ ファイル形式の読み取りおよび書き込み機能により、Pandas は他のアプリケーションとシームレスに相互運用し、Pandas と適切に統合されるデータ パイプラインを構築できます。これが、Pandas が多くの開発者によって広く使用されている理由の 1 つです。

#6.他のライブラリとの統合

Pandas には、その機能を補完するためにその上に構築されたツールとライブラリの豊富なエコシステムもあります。これにより、さらに強力で便利なライブラリになります。

Pandas エコシステム内のツールは、データ クリーニング、視覚化、機械学習、入出力、並列化など、さまざまな領域にわたってその機能を強化します。 Pandas は、そのようなツールのレジストリをドキュメントで管理しています。

Pandas のパフォーマンスと効率に関する考慮事項

Pandas はほとんどの操作で優れていますが、遅いことで悪名高い場合があります。明るい面は、コードを最適化して速度を向上できることです。これを行うには、Pandas がどのように構築されているかを理解する必要があります。

Pandas は、数値計算および科学計算用の人気のある Python ライブラリである NumPy 上に構築されています。したがって、NumPy と同様に、Pandas は、ループを使用して個々のセルや行を選択するのではなく、操作をベクトル化するとより効率的に動作します。

ベクトル化は、同じ操作を複数のデータ ポイントに同時に適用する並列化の形式です。これは SIMD (単一命令、複数データ) と呼ばれます。ベクトル化された操作を利用すると、Pandas の速度とパフォーマンスが大幅に向上します。

DataFrame および Series データ構造は、内部で NumPy 配列を使用するため、代替の辞書やリストよりも高速です。

デフォルトの Pandas 実装は 1 つの CPU コアのみで実行されます。コードを高速化するもう 1 つの方法は、Pandas が利用可能なすべての CPU コアを利用できるようにするライブラリを使用することです。これらには、Dask、Vaex、Modin、IPython が含まれます。

コミュニティとリソース

最も人気のあるプログラミング言語の人気ライブラリである Pandas には、ユーザーと寄稿者の大規模なコミュニティがあります。そのため、その使用方法を学ぶために使用できるリソースがたくさんあります。これらには、 Pandas の公式ドキュメントが含まれます。しかし、学ぶべきコース、チュートリアル、書籍も無数にあります。

r/Pythonr/Data Scienceサブレディットの Reddit などのプラットフォームには、質問して回答を得るオンライン コミュニティもあります。オープンソース ライブラリであるため、 GitH u bで問題を報告したり、コードを寄稿したりすることもできます。

最後の言葉

Pandas は、データ サイエンス ライブラリとして非常に便利で強力です。この記事では、データ サイエンティストやプログラマーにとって頼りになるツールとなっている機能を探ることで、その人気を説明しようとしました。

次に、Pandas DataFrame の作成方法を確認してください。

「 Pandas が最も人気のある Python データ分析ライブラリである理由」についてわかりやすく解説!絶対に観るべきベスト2動画

【Pythonプログラミング】Pandasの基本 〜表形式データ・データ分析〜 初心者向けのDataFrameの操作入門!
【Pandas徹底講座】この動画1本でデータ操作に特化したPythonライブラリPandasの基礎をマスター!