Python Pandasチュートリアル:データ分析のためのPandasを学ぶ



このPythonPandasチュートリアルでは、Pandasのさまざまな操作について学習します。また、パンダを使用してデータを分析できるユースケースも含まれています。

このブログでは、PythonでPandasを使用したデータ分析について説明します。今日、 は、全体的な人気と使用の点で、2017年にPHP、2018年にC#を上回った業界のホットスキルです。パンダについて話す前に、Numpy配列の概念を理解する必要があります。どうして? Pandasは、上に構築されたオープンソースソフトウェアライブラリであるため 。このPythonPandasチュートリアルでは、次のトピックについて説明します。これらのトピックは、今後のブログの基礎として役立ちます。

始めましょう。 :-)





Pythonパンダとは何ですか?

パンダは、データの操作、分析、およびクリーニングに使用されます。 Pythonパンダは、次のようなさまざまな種類のデータに適しています。

  • 異種タイプの列を持つ表形式のデータ
  • 順序付きおよび順序なしの時系列データ
  • 行と列のラベルが付いた任意の行列データ
  • ラベルのないデータ
  • その他の形式の観測または統計データセット

パンダをインストールする方法は?

Python Pandasをインストールするには、コマンドライン/ターミナルに移動して「pipinstall pandas」と入力します。システムにanacondaがインストールされている場合は、「condainstallpandas」と入力します。インストールが完了したら、IDE(Jupyter、PyCharmなど)に移動し、「import pandasaspd」と入力してインポートします。



Python pandasチュートリアルを進めて、その操作のいくつかを見てみましょう。

Pythonパンダの操作

Pythonパンダを使用すると、シリーズ、データフレーム、欠落データ、グループ化などで多くの操作を実行できます。データ操作の一般的な操作の一部を以下に示します。



PandasOperations-PythonPandasチュートリアル-Edureka

では、これらすべての操作を1つずつ理解していきましょう。

データフレームのスライス

データのスライスを実行するには、データフレームが必要です。心配しないでください。データフレームは2次元のデータ構造であり、最も一般的なパンダオブジェクトです。まず、データフレームを作成しましょう。

PyCharmでの実装については、以下のコードを参照してください

パンダをpdとしてインポートXYZ_web = {'Day':[1,2,3,4,5,6]、 'Visitors':[1000、700,6000,1000,400,350]、 'Bounce_Rate':[20,20、 23,15,10,34]} df = pd.DataFrame(XYZ_web)print(df)

出力

Bounce_RateDay訪問者020 1 1000 1 20 2700 2 23 3 6000 3 15 4 1000 4 10 5400 5 34 6350

上記のコードは、辞書をパンダのデータフレームに変換し、左側にインデックスを付けます。ここで、このデータフレームから特定の列をスライスしてみましょう。以下の画像を参照してください。

print(df.head(2))

出力:

Bounce_RateDayの訪問者020 1 1000 1 20 2 700

同様に、データの最後の2行が必要な場合は、次のコマンドを入力します。

print(df.tail(2))

出力:

Bounce_RateDayの訪問者410 5400 5 34 6350

次のPythonPandasチュートリアルでは、マージと結合を実行しましょう。

マージと結合

マージでは、2つのデータフレームをマージして1つのデータフレームを形成できます。共通にする列を決定することもできます。それを実際に実装しましょう。最初に、いくつかのキーと値のペアを持つ3つのデータフレームを作成し、次にデータフレームをマージします。以下のコードを参照してください。

HPI IND_GDP Int_Rate 0 80 50 2 1 90 45 1 2 70 45 2 3 60 67 3

出力:

パンダをpddf1 = pd.DataFrame({'HPI':[80,90,70,60]、 'Int_Rate':[2,1,2,3]、 'IND_GDP':[50,45,45、 67]}、index = [2001、2002,2003,2004])df2 = pd.DataFrame({'HPI':[80,90,70,60]、 'Int_Rate':[2,1,2,3] 、 'IND_GDP':[50,45,45,67]}、index = [2005、2006,2007,2008])merged = pd.merge(df1、df2)print(merged)

上記のように、2つのデータフレームが1つのデータフレームにマージされました。これで、共通にしたい列を指定することもできます。たとえば、「HPI」列を共通にしたいのですが、それ以外の場合は、別々の列が必要です。それで、それを実際に実装させてください:

df1 = pd.DataFrame({'HPI':[80,90,70,60]、 'Int_Rate':[2,1,2,3]、 'IND_GDP':[50,45,45,67]}、 index = [2001、2002,2003,2004])df2 = pd.DataFrame({'HPI':[80,90,70,60]、 'Int_Rate':[2,1,2,3]、 'IND_GDP' :[50,45,45,67]}、index = [2005、2006,2007,2008])merged = pd.merge(df1、df2、on = 'HPI')print(merged)

出力:

IND_GDP Int_RateLow_Tier_HPI失業200150 2 50.0 1.0 2002 45 1 NaN NaN 2003 45 2 45.0 3.0 2004 67 3 67.0 5.0 2004 67 3 34.0 6.0

次に、理解しましょう 接合 Pythonパンダチュートリアルで。インデックスが異なる2つのデータフレームを1つの結果データフレームに結合することは、さらにもう1つの便利な方法です。これは「マージ」操作と非常に似ていますが、結合操作が「列」ではなく「インデックス」で行われる点が異なります。実際に実装してみましょう。

df1 = pd.DataFrame({'Int_Rate':[2,1,2,3]、 'IND_GDP':[50,45,45,67]}、index = [2001、2002,2003,2004])df2 = pd.DataFrame({'Low_Tier_HPI':[50,45,67,34]、 'Unemployment':[1,3,5,6]}、index = [2001、2003,2004,2004])joined = df1。 join(df2)print(joined)

出力:

IND_GDP Int_RateLow_Tier_HPI失業200150 2 50.0 1.0 2002 45 1 NaN NaN 2003 45 2 45.0 3.0 2004 67 3 67.0 5.0 2004 67 3 34.0 6.0

上記の出力でわかるように、2002年(インデックス)では、「low_tier_HPI」列と「unemployment」列に値が付加されていないため、NaN(数値ではありません)が出力されています。 2004年後半には、両方の値が使用可能になるため、それぞれの値が出力されます。

このPythonPandasチュートリアルの記録をご覧になると、インストラクターがこの概念をよりよく理解するのに役立つ例を使用してトピックを詳細に説明しています。

データ分析のためのPython | Pythonパンダチュートリアル| Pythonトレーニング|エドゥレカ


Python pandasチュートリアルを進めて、2つのデータデータフレームを連結する方法を理解しましょう。

連結

連結は基本的にデータフレームを結合します。連結するディメンションを選択できます。そのためには、「pd.concat」を使用し、データフレームのリストを渡して連結します。以下の例を考えてみましょう。

df1 = pd.DataFrame({'HPI':[80,90,70,60]、 'Int_Rate':[2,1,2,3]、 'IND_GDP':[50,45,45,67]}、 index = [2001、2002,2003,2004])df2 = pd.DataFrame({'HPI':[80,90,70,60]、 'Int_Rate':[2,1,2,3]、 'IND_GDP' :[50,45,45,67]}、index = [2005、2006,2007,2008])concat = pd.concat([df1、df2])print(concat)

出力:

HPI IND_GDP Int_Rate 2001 80 50 2 2002 90 45 1 2003 70 45 2 2004 60 67 3 2005 80 50 2 2006 90 45 1 2007 70 45 2 2008 60 67 3

上記のように、2つのデータフレームは1つのデータフレームに接着されており、インデックスは2001年から2008年まで続きます。次に、列に沿って結合、マージ、または連結するためにaxis = 1を指定することもできます。以下のコードを参照してください。

df1 = pd.DataFrame({'HPI':[80,90,70,60]、 'Int_Rate':[2,1,2,3]、 'IND_GDP':[50,45,45,67]}、 index = [2001、2002,2003,2004])df2 = pd.DataFrame({'HPI':[80,90,70,60]、 'Int_Rate':[2,1,2,3]、 'IND_GDP' :[50,45,45,67]}、index = [2005、2006,2007,2008])concat = pd.concat([df1、df2]、axis = 1)print(concat)

出力:

HPI IND_GDP Int_Rate HPI IND_GDP Int_Rate 2001 80.0 50.0 2.0 NaN NaN NaN 2002 90.0 45.0 1.0 NaN NaN NaN 2003 70.0 45.0 2.0 NaN NaN NaN 2004 60.0 67.0 3.0 NaN NaN NaN 2005 NaN NaN NaN 80.0 50.0 2.0 2006 NaN NaN NaN 90.0 45.0 1.0 2007 NaN NaN 70.0 45.0 2.0 2008 NaN NaN NaN 60.0 67.0 3.0

上記のように、不足している値がたくさんあります。これは、データフレームに、連結するすべてのインデックスの値がなかったために発生します。したがって、軸に結合または連結するときは、すべての情報が正しく整列していることを確認する必要があります。

インデックスを変更する

次のpythonpandasチュートリアルでは、データフレームのインデックス値を変更する方法を理解します。たとえば、ディクショナリにいくつかのキーと値のペアを含むデータフレームを作成し、インデックス値を変更してみましょう。以下の例を検討してください。

それが実際にどのように起こるかを見てみましょう:

パンダをpddf = pd.DataFrame({'Day':[1,2,3,4]、 'Visitors':[200、100,230,300]、 'Bounce_Rate':[20,45,60,10]})としてインポートします。 df.set_index( 'Day'、inplace = True)print(df)

出力:

Bounce_Rateビジター1日目202002 45100 3 60230 4 10300

上記の出力でわかるように、インデックス値は「日」列に関して変更されています。

列ヘッダーを変更する

このpythonpandasチュートリアルの列のヘッダーを変更してみましょう。同じ例を見てみましょう。ここでは、列ヘッダーを「Visitors」から「Users」に変更します。それで、実際に実装させてください。

パンダをpddf = pd.DataFrame({'Day':[1,2,3,4]、 'Visitors':[200、100,230,300]、 'Bounce_Rate':[20,45,60,10]})としてインポートします。 df = df.rename(columns = {'Visitors': 'Users'})print(df)

出力:

Bounce_RateDayユーザー020 1200 1 45 2100 2 60 3230 3 10 4300

上記のように、列ヘッダー「Visitors」は「Users」に変更されました。次のpythonpandasチュートリアルでは、データの変更を実行しましょう。

データの変更

データ変更では、特定のデータを別の形式に変換できます。たとえば、.csvファイルがある場合は、それを.htmlまたはその他のデータ形式に変換することもできます。それで、これを実際に実装させてください。

パンダをpdcountry = pd.read_csv( 'D:UsersAayushiDownloadsworld-bank-youth-unemploymentAPI_ILO_country_YU.csv'、index_col = 0)country.to_html( 'edu.html')としてインポートします。

このコードを実行すると、「edu.html」という名前のHTMLファイルが作成されます。ファイルのパスを直接コピーして、HTML形式でデータを表示するブラウザに貼り付けることができます。以下のスクリーンショットを参照してください。


次のpythonpandasチュートリアルでは、世界的な若者の失業について説明するユースケースを見てみましょう。

Python Pandasチュートリアル:ユースケースを使用して若者の失業データを分析する

問題文 あなたはデータセットを与えられます 2010年から2014年までの世界の失業中の若者の割合で構成されています。このデータセットを使用して、2010年から2011年までのすべての国の若者の割合の変化を見つける必要があります。

まず、国名、国コード、2010年から2014年までの年の列を含むデータセットを理解しましょう。パンダを使用して、「pd.read_csv」を使用して.csvファイル形式のファイルを読み取ります。
以下のスクリーンショットを参照してください。

先に進み、2010年から2011年までの失業者の若者の変化率を調べるデータ分析を実行しましょう。次に、同じものを使用して視覚化します。 ライブラリ。Pythonで視覚化するための強力なライブラリです。 Pythonスクリプト、シェル、Webアプリケーションサーバー、その他のGUIツールキットで使用できます。あなたはここでもっと読むことができます:

それでは、PyCharmにコードを実装しましょう:

import pandas as pd import matplotlib.pyplot as plt from matplotlib import style style.use( 'fivethirtyeight')country = pd.read_csv( 'D:UsersAayushiDownloadsworld-bank-youth-unemploymentAPI_ILO_country_YU.csv'、index_col = 0)df = country。 head(5)df = df.set_index(['Country Code'])sd = sd.reindex(columns = ['2010'、 '2011'])db = sd.diff(axis = 1)db.plot(kind = 'bar')plt.show()

上記のように、国のデータフレームの上位5行で分析を実行しました。次に、インデックス値を「国コード」として定義し、列のインデックスを2010と2011に再作成しました。次に、2つの列の差または失業者の若者の変化率を出力するデータフレームデータベースがもう1つあります。 2010年から2011年まで。最後に、PythonのMatplotlibライブラリを使用してバープロットをプロットしました。


初心者のための最高のjavaide

さて、上記のプロットでお気づきのように、2010年から2011年の間にアフガニスタン(AFG)では、失業者の若者が約2人増加しています。 0.25%。次に、アンゴラ(AGO)では、失業中の若者の割合が減少したことを意味するマイナスの傾向があります。同様に、さまざまなデータセットに対して分析を実行できます。

「PythonPandasチュートリアル」に関する私のブログがあなたに関連していることを願っています。 Pythonとそのさまざまなアプリケーションに関する詳細な知識を得るには、ライブに登録できます。 24時間年中無休のサポートと生涯アクセスを備えたEdurekaによる。

質問がありますか?この「PythonPandasチュートリアル」ブログのコメントセクションでそのことを伝えてください。できるだけ早くご連絡いたします。