ここでは、各メソッドの概要とその機能を簡単に説明します: ","read_csv()",":CSVファイルからPandas DataFrameにデータをロードします。","ヘッド()",":DataFrame の最初の数行を表示します。","info()",":列のタイプや欠損値など、DataFrame の簡潔な要約を提供します。","describe()",":数値列の記述統計量を生成する。","isnull()",":DataFrame 内の欠損データを特定する。","ドロップナ",":データが欠落している行または列を削除する。","フィルナ()",":欠損データを指定された値で置き換える。","groupby()",":1つまたは複数の列に基づいてデータをグループ化し、集約関数を適用します。","sort_values()",":DataFrameを1つ以上の列でソートします。","apply()",":DataFrameの行または列にカスタム関数を適用する。","前提条件"," まず、あなたのマシンにPythonがインストールされていることを確認してください。インストールされていない場合は、 このリンクからダウンロードできる。
Pythonがセットアップされたら、Pandasライブラリがインストールされていることを確認する。インストールされていない場合は、以下のコマンドで簡単に追加できる: ","pipinstallpandas"," 以下の不動産ダミー・データセットを例に挙げる: ","プロパティID","所在地","ベッドルーム","バスルーム","価格","スクエアフッテージ","掲載日","101","ニューヨーク","3","2","750000","1800","2023-05-15","102","サンフランシスコ","1","850000","1400","2023-06-01","103","ロサンゼルス","4","2500","2023-04-10","104","シカゴ","650000","1700","105","マイアミ","5","1200000","3500","2023-03-22","106","ヒューストン","450000","2000","2023-07-01","Pandasの関数とメソッドトップ10","1. read_csv():CSV ファイルから Pandas DataFrame にデータを読み込みます。"," pandasを使用する最初のステップは、データを読み込んで処理や分析の準備をすることです。pandasのDataFrameにデータをインポートする最も一般的な方法の1つは、read_csv()関数です。 ","コードの例:","pdとしてpandas をインポートする\n# データセットを Pandas DataFrame に読み込む\nfile_path =\"real_estate_listings.csv\" # 実際のファイルパスに置き換える\n\n# DataFrameを作成する\ndf = pd.read_csv(file_path)","pd","pandas.read_csv()","pd.read_csv()"," まず、pandasライブラリをインポートする。使用方法 "," は、コードを単純化するために開発者の間でよく使われる慣例である。例えば ","を使えばよい。 ","コードがより簡潔で読みやすくなる。 ","リード_csv"," 次に、Pandas DataFrame にロードしたい CSV ファイルのパスを指定します。次に、変数を作成し "," メソッドを使用して、ファイルを DataFrame にロードします。 ","主なパラメーター"," では、このメソッドに従ういくつかの重要なパラメータを探ってみよう: ","区切り文字:"," CSVファイルで使用する区切り文字を指定します(例: ,, ;, \\t)。","df= pd.read_csv(file_path, delimiter=',')","インデックス・コル",":このテーブルでは、各物件リストは\"\"内のIDで識別されます。","\"カラムを使用します。pandasがこのカラムを各プロパティの一意識別子として使用するようにするには、明示的にこのカラムをIDカラムとして設定します。そうしないと、pandasは自動的に独自のID値を生成し、各リストに割り当てます。","df= pd.read_csv(file_path, index_col='PropertyID')","ユセコルス",":CSVファイルには多数のカラムが含まれているが、必要なのは一部のカラムだけである場合、pandasでは特定のパラメータを使用して簡単にこれを実現できます。","df= pd.read_csv(file_path, usecols=['Location','Price','Bedrooms'])","2. head() と tail():データの検査","テール()"," データがDataFrameにロードされたので、それを探索することができます。そのために、Pandasは2つの便利なメソッドを提供しています: "," そして ",".これらのメソッドは、データセットの最初の行や最後の行を素早く検査するために不可欠です。 ","head():このメソッドは、デフォルトではデータセットの最初の 5 行を表示します。データが正しく読み込まれたことを確認したり、 その構造をチェックしたりするのに便利です。","tail() を使用します:このメソッドは head() と同じように動作しますが、 代わりに最後の数行を表示します。データセットの最後を調べる際に有用で、 特にデータが完全なものであるか、あるいは末尾のレコードに欠損値があるかを調べる際に便利です。","# 最初の5行を表示する\nprint(df.head())\n# 最後の3行を表示\nprint(df.tail(3))\n"," 出力 ",": ","3. info() - データフレームの構造を理解する"," info()関数は、DataFrame の簡潔な要約を提供します。これには、以下のような詳細が含まれます: ","行と列の数。","カラム名とそのデータ型。","各列の非NULL値のカウント。"," この方法は、データセットの構造を素早く理解し、欠損値や不正なデータ型などの問題を発見するのに便利である。 ","# DataFrameの簡潔な要約を取得する\nprint(df.info())"," 上のコードは次のような出力を生成する: ","<class 'pandas.core.frame.DataFrame'>\nRangeIndex: 6 entries, 0 to 5\nData columns (total 7 columns):\n# Column Non-Null Count Dtype \n--- ------ -------------- ----- \n0 PropertyID 6 non-null int64 \n1 Location 6 non-null object\n2 Bedrooms 6 non-null int64 \n3 Bathrooms 6 non-null int64 \n4 Price 5 non-null float64\n5 SquareFootage 6 non-null int64 \n6 ListingDate 5 non-null object\ndtypes: float64(1), int64(4), object(2)\nmemory usage: 464.0+ bytes\n","4. describe():要約統計を生成する"," について "," メソッドは、次のような主要な統計指標を素早く要約してくれる。 ","卑しい",", ","標準偏差","パーセンタイル","などなど。デフォルトでは "," は数値データを扱うが、カテゴリーデータも扱うことができ、データの種類に応じてカスタマイズされた洞察を提供する。 ",":どのパーセンタイルを返すかを指定する0から1までの数値のリスト。デフォルトはNoneで、25パーセンタイル、50パーセンタイル、75パーセンタイルを返す。続きを読む ","これ",".","含む",":サマリーに含めるデータ型のリスト。int、float、object(文字列用)などのデータ型を指定できる。デフォルトはNoneで、すべての数値型が含まれます。","除外","なし",":サマリーから除外するデータタイプのリスト。このパラメータは "," デフォルトでは、除外されるタイプはない。","プリント(df.describe())"," コードの出力は以下の通り: "," 物件ID所在地 価格 平方フィート 掲載日\nカウント 6.000000 6 6.000000... 5.000000e+00 6.000000 5\nユニークNaN6NaN ... NaN NaN5\nトップNaN ニューヨーク NaN ... ニューヨーク NaN ...\nfreqNaN1NaN ... NaN NaN1\n平均 103.500000NaN 3.500000... 7.800000e+05 2150.000000NaN\n標準値 1.870829NaN1.048809...2.774887e+05 755.645419NaN\n最小 101.000000NaN 2.000000... 4.500000e+05 1400.000000NaN\n25% 102.250000NaN 3.000000... 6.500000e+05 1725.000000NaN\n50% 103.500000NaN 3.500000... 7.500000e+05 1900.000000NaN\n75% 104.750000NaN 4.000000... 8.500000e+05 2375.000000NaN\n最大 106.000000NaN 5.000000... 1.200000e+06 3500.000000NaN\n","各統計の解説","カウント = 6","例 "," にとって ","すべての行が有効なデータを持っていることを示す。","カウント",":各列の欠落していない項目の数。","平均 = 3.5","の平均を示す。 ","3.5ベッドルーム"," 物件につき","平均",":列の平均値。","標準偏差 = 1.048809","つまり、ベッドルーム数には適度なばらつきがある。","標準",":標準偏差:平均からの値の広がりを示す。","min = 2","max = 5","最小/最大",":最小値と最大値。","25%",":データの25%が該当する以下の値(第1四分位値)。","50%",":中央値。","75%",":データの75%が該当する値(第3四分位値)。","25%、50%、75%(四分位数)",":データの広がりを表す:","5. isnull():欠損データの特定","真","NaN","偽","和"," 関数は、DataFrame内の欠損データを特定するのに役立ちます。この関数は、元のDataFrameと同じ形状のDataFrameを返します。 "," データが欠落している場合 "," そして "," それ以外の場合。この関数は "," を使用して、列または行にまたがる欠損値をカウントします。 ","# 欠損値を特定する\nprint(df.isnull())\n# 各列の欠損値を数える\nprint(df.isnull().sum())\n","df.isnull()"," 出力: "," 物件ID 所在地 ベッドルーム バスルーム 価格 面積 掲載日\n0 偽 偽 偽 偽 誤 誤 誤\n1 誤 誤 誤 誤 誤 誤 誤\n2 誤 誤 誤 誤 偽 誤 誤\n3 偽 偽 誤 誤 誤 誤 正\n4 偽 偽 偽 偽 誤 誤 誤\n5 誤 誤 誤 誤 誤 誤 誤\n","df.isnull().sum()","物件ID 0\n所在地 0\nベッドルーム 0\nバスルーム 0\n価格 1\n平方フィート 0\nリスト日付 1\ndtype: int64\n","6. dropna():欠損データの削除"," 関数が削除する ","行"," または ","列"," 欠損データあり "," を DataFrame から削除します。デフォルトでは、値が欠落している行を削除します。列のみを削除したり、すべての値や特定のサブセットの値が欠落している行や列を削除したりするように、動作をカスタマイズすることができます。 ","# 欠損 値の ある行を削除する\ndf_dropped_rows = df.dropna()\nprint(df_dropped_rows)\n\n# 欠損 値の ある列を削除する\ndf_dropped_columns = df.dropna(axis=1)\nprint(df_dropped_columns)\n"," をすべて削除した後のDataFrameは以下のようになる。 "," 入り "," 価値観の違いだ: "," 以下は "," 値を削除した。 ","7. fillna():欠損データの置換"," 関数が欠損データを置き換える "," を指定された値で返します。パンダの "," メソッドは、DataFrame から NULL 値を効率的に処理・削除します。 "," メソッドは、次のような柔軟なソリューションを提供する。 "," 値を選択した指定値で埋める。このメソッドは、固定値である ","中央値","モード","またはその他の計算された統計。 ","# 'Price'列の欠損値を平均価格で埋める df['Price'] = \ndf['Price'].fillna(df['Price'].mean()) \nprint(df)"," コードの出力は "," 値が平均価格に置き換わった。 ","780000"," カラムには "," 値を使用する。計算を実行する代わりに、単に\"","不明",".その方法はこうだ; ","# 'ListingDate' 列の欠損値をプレースホルダで埋める\ndf['ListingDate'] =df['ListingDate'].fillna('Unknown')\nprint(df)\n"," データフレームは次のようになる: ","8. groupby():データのグループ化と集計"," Pandasのgroupby()関数は、DataFrameを1つ以上の列に基づいたグループに分割し、効率的なデータ分析や集計を可能にする多機能で強力なツールです。
この関数は、分割-適用-結合の原則に基づいて動作します。
まず、データがグループに分割されます。
次に、指定された関数が各グループに適用されます。
最後に、結果が新しい DataFrame に結合されます。
この合理的なアプローチは、複雑なデータ操作タスクを簡素化し、分析効率を高めます。 "," 例えば、場所ごとに物件の平均価格を計算したり、寝室カテゴリーごとに物件数をカウントしたりすることができます。 ","# 場所' で グループ化 し、平均価格を計算する\navg_price_by_location = df.groupby('Location')['Price'].mean()\nprint(avg_price_by_location)\n# ベッドルーム' で グループ化 し、総面積を計算する\ntotal_sqft_by_bedrooms = df.groupby('Bedrooms')['SquareFootage'].sum()\nprint(total_sqft_by_bedrooms)\n# 複数の列で グループ化 し、カウントを計算する\ncount_by_location_bedrooms = df.groupby(['Location','Bedrooms']).size()\nprint(count_by_location_bedrooms)\n","場所別の平均価格:","所在地\nシカゴ 650000.0\nヒューストン 450000.0\nロサンゼルスNaN\nマイアミ 1200000.0\nニューヨーク 750000.0\nサンフランシスコ850000.0\n名前価格, d型: float64\n","ベッドルーム別の総面積","寝室\n2 1400\n3 3500\n4 4500\n5 3500\n","場所とベッドルーム別のカウント:","ロケーションベッドルーム\nシカゴ 3 1\nヒューストン 4 1\nロサンゼルス 4 1\nマイアミ 5 1\nニューヨーク 3 1\nサンフランシスコ2 1\ndtype: int64\n","9. sort_values():データの並べ替え"," sort_values()関数は、DataFrameを1つ以上のカラムで昇順または降順にソートするために使用されます。並べ替えは、データの順位付けや、極端な値の特定(例えば、最高値の物件)、あるいは単に読みやすくするためのデータセットの整理に不可欠です。 ","# '価格'の降順でソートする\ndf_sorted_by_price = df.sort_values(by='Price',ascending=False)\nprint(df_sorted_by_price)\n# 場所'で昇順にソートする\ndf_sorted_by_location = df.sort_values(by='Location')\nprint(df_sorted_by_location)\n# 複数のカラムでソートする:まず'ベッドルーム'(昇順)でソートし、次に'価格'(降順)でソートする\ndf_sorted_by_bedrooms_price = df.sort_values(by=['Bedrooms','Price'], ascending=[True,False]) # 複数のカラムでソートする。\nprint(df_sorted_by_bedrooms_price)\n","価格順(降順):"," 物件ID所在地 価格 平方フィート 掲載日\n4 105Miami5... 1200000.0 3500 2023-03-22\n1 102サンフランシスコ2... 850000.0 1400 2023-06-01\n0 101ニューヨーク3... 750000.0 1800 2023-05-15\n3 104シカゴ3... 650000.0 1700NaN\n5 106ヒューストン 450000.0 2000 2023-07-01\n2 103ロサンゼルス4... 2500 2023-04-10","場所順(昇順):","[6行× 7 列]\n 物件ID 所在地 価格 平方フィート 掲載日\n3 104 シカゴ 3 . .. 650000.0 1700 NaN\n5 106 ヒューストン 450000.0 2000 2023-07-01\n2 103 ロサンゼルス 4 . .. 2500 2023-04-10\n4 105 マイアミ 5 . .. 1200000.0 3500 2023-03-22\n0 101 ニューヨーク 3 . .. 750000.0 1800 2023-05-15\n1 102 サンフランシスコ 2 . .. 850000.0 1400 2023-06-01\n","ベッドルーム(昇順)と価格(降順)で並べ替えます:"," 物件ID所在地 価格 平方フィート 掲載日\n1 102サンフランシスコ2... 850000.0 1400 2023-06-01\n0 101ニューヨーク3... 750000.0 1800 2023-05-15\n3 104シカゴ3... 650000.0 1700NaN\n5 106ヒューストン 450000.0 2000 2023-07-01\n2 103ロサンゼルス4... 2500 2023-04-10\n4 105マイアミ5... 1200000.0 3500 2023-03-22\n","10. apply():カスタム関数をデータに適用する"," apply()関数を使用すると、DataFrameの行や列にカスタム関数を適用することができます。Pandasの組み込み関数を超えた、要素単位の変換や計算、条件演算を行うための強力なメソッドです。 "," 平方フィートあたりの価格を計算するために新しい列を作成する例を見てみよう。 ","# 平米あたりの価格を計算するカスタム関数を 定義する\ndef price_per_sqft(price, sqft):\n returnprice/sqft if sqft!= 0 else 0\n\n# カスタム関数を 適用して 新しい カラムを 作成する\ndf['PricePerSqFt']=df.apply(lambdarow: price_per_sqft(row['Price'],row['SquareFootage']),axis=1)\nprint(df)\n","上記コードの出力は以下の通り:"," 物件ID所在地 坪数 掲載日 価格坪単価\n0 101ニューヨーク3... 1800 2023-05-15 416.666667\n1 102サンフランシスコ2... 1400 2023-06-01 607.142857\n2 103ロサンゼルス4...2500 2023-04-10NaN\n3 104シカゴ3... 1700NaN382.352941\n4 105マイアミ5... 3500 2023-03-22 342.857143\n5 106ヒューストン4...2000 2023-07-01 225.000000\n"," 他の例としては、地名を大文字に変換することが挙げられる; ","# 場所名をすべて大文字にする変換を適用する\ndf['Location'] =df['Location'].apply(lambda x: x.upper())\nprint(df)\n","これがその様子だ:"," 物件ID所在地 価格 平方フィート 掲載日\n0 101ニューヨーク3... 750000.0 1800 2023-05-15\n1 102サンフランシスコ2... 850000.0 1400 2023-06-01\n2 103ロサンゼルス4... NaN2500 2023-04-10\n3 104シカゴ3... 650000.0 1700NaN\n4 105マイアミ5... 1200000.0 3500 2023-03-22\n5 106ヒューストン 450000.0 2000 2023-07-01","結論"," このガイドでは、データ分析に不可欠な10の Pandas 関数について説明します。 "," のような方法で洗浄し、変身させる。 ","そして ",".これらの関数はあらゆるデータ分析ワークフローの基礎となり、データセットのクリーニング、操作、要約を効率的に行うことができます。これらの関数をマスターすることで、実世界のデータ課題に自信を持って対処できるようになります。今すぐ練習を開始し、これらのツールがどのように分析タスクを簡素化できるかを探求してください! ","によるものだ:ProxyScrape","ここで検索する","最近の投稿","Exporting Web Scraped Data to CSV, JSON, and Databases ","Parselを使ったPythonによるWeb解析入門","PHPプログラミング言語によるWebスクレイピング","ウェブサイトからテーブルをスクレイピングする方法 - Pythonチュートリアル","ライトproxyscrape ロゴ","https://proxyscrape.com/static/light_text_logo.svg","プロキシのヘルプをお探しですか?
。以下の方法があります:","クランチベース","会社概要","素晴らしいサポートをありがとう!","クイックリンク","アフィリエイト・プログラム","プレミアム","ProxyScrape プレミアムトライアル","プロキシの種類","代理国","プロキシの使用例","重要","クッキーポリシー","免責事項","プライバシーポリシー","ご利用条件","ソーシャルメディア","フェイスブック","LinkedIn","ツイッター","クオラ","テレグラム","ディスコード","\n © Copyright 2025 -Thib BV| Brugstraat 18 | 2812 Mechelen | ベルギー | VAT BE 0749 716 760\n"]}
Pandasは、データ操作や分析の世界に飛び込むデータアナリストやPythonプログラマーにとって、頼りになるライブラリです。直感的な構文と強力なデータ構造により、膨大なデータセットを管理できるだけでなく、効率的に扱うことができます。CSVファイルのインポート、乱雑なデータセットのクリーニング、データトレンドの分析など、Pandasには必要なツールが揃っています。
Pandasの学習を始めたばかりの方向けに、初心者がマスターすべき10個の必須関数とメソッドを紹介します。
ここでは、各メソッドの概要とその機能を簡単に説明します:
read_csv()
:CSVファイルからPandas DataFrameにデータをロードします。ヘッド()
:DataFrame の最初の数行を表示します。info()
:列のタイプや欠損値など、DataFrame の簡潔な要約を提供します。describe()
:数値列の記述統計量を生成する。isnull()
:DataFrame 内の欠損データを特定する。ドロップナ
:データが欠落している行または列を削除する。フィルナ()
:欠損データを指定された値で置き換える。groupby()
:1つまたは複数の列に基づいてデータをグループ化し、集約関数を適用します。sort_values()
:DataFrameを1つ以上の列でソートします。apply()
:DataFrameの行または列にカスタム関数を適用する。 まず、あなたのマシンにPythonがインストールされていることを確認してください。インストールされていない場合は、 このリンクからダウンロードできる。
Pythonがセットアップされたら、Pandasライブラリがインストールされていることを確認する。インストールされていない場合は、以下のコマンドで簡単に追加できる:
pipinstallpandas
以下の不動産ダミー・データセットを例に挙げる:
プロパティID | 所在地 | ベッドルーム | バスルーム | 価格 | スクエアフッテージ | 掲載日 |
101 | ニューヨーク | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | サンフランシスコ | 2 | 1 | 850000 | 1400 | 2023-06-01 |
103 | ロサンゼルス | 4 | 3 | 2500 | 2023-04-10 | |
104 | シカゴ | 3 | 2 | 650000 | 1700 | |
105 | マイアミ | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | ヒューストン | 4 | 3 | 450000 | 2000 | 2023-07-01 |
pandasを使用する最初のステップは、データを読み込んで処理や分析の準備をすることです。pandasのDataFrameにデータをインポートする最も一般的な方法の1つは、read_csv()関数です。
pdとしてpandas をインポートする
# データセットを Pandas DataFrame に読み込む
file_path ="real_estate_listings.csv" # 実際のファイルパスに置き換える
# DataFrameを作成する
df = pd.read_csv(file_path)
まず、pandasライブラリをインポートする。使用方法 pd
は、コードを単純化するために開発者の間でよく使われる慣例である。例えば pandas.read_csv()
を使えばよい。 pd.read_csv()
コードがより簡潔で読みやすくなる。
次に、Pandas DataFrame にロードしたい CSV ファイルのパスを指定します。次に、変数を作成し リード_csv
メソッドを使用して、ファイルを DataFrame にロードします。
では、このメソッドに従ういくつかの重要なパラメータを探ってみよう:
区切り文字:
CSVファイルで使用する区切り文字を指定します(例: ,, ;, \t)。df= pd.read_csv(file_path, delimiter=',')
インデックス・コル
:このテーブルでは、各物件リストは""内のIDで識別されます。プロパティID"カラムを使用します。pandasがこのカラムを各プロパティの一意識別子として使用するようにするには、明示的にこのカラムをIDカラムとして設定します。そうしないと、pandasは自動的に独自のID値を生成し、各リストに割り当てます。df= pd.read_csv(file_path, index_col='PropertyID')
ユセコルス
:CSVファイルには多数のカラムが含まれているが、必要なのは一部のカラムだけである場合、pandasでは特定のパラメータを使用して簡単にこれを実現できます。df= pd.read_csv(file_path, usecols=['Location','Price','Bedrooms'])
データがDataFrameにロードされたので、それを探索することができます。そのために、Pandasは2つの便利なメソッドを提供しています: ヘッド()
そして テール()
.これらのメソッドは、データセットの最初の行や最後の行を素早く検査するために不可欠です。
# 最初の5行を表示する
print(df.head())
# 最後の3行を表示
print(df.tail(3))
出力 ヘッド()
:
プロパティID | 所在地 | ベッドルーム | バスルーム | 価格 | スクエアフッテージ | 掲載日 |
101 | ニューヨーク | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | サンフランシスコ | 2 | 1 | 850000 | 1400 | 2023-06-01 |
103 | ロサンゼルス | 4 | 3 | 2500 | 2023-04-10 | |
104 | シカゴ | 3 | 2 | 650000 | 1700 | |
105 | マイアミ | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
出力 テール()
:
プロパティID | 所在地 | ベッドルーム | バスルーム | 価格 | スクエアフッテージ | 掲載日 |
104 | シカゴ | 3 | 2 | 650000 | 1700 | |
105 | マイアミ | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | ヒューストン | 4 | 3 | 450000 | 2000 | 2023-07-01 |
info()関数は、DataFrame の簡潔な要約を提供します。これには、以下のような詳細が含まれます:
この方法は、データセットの構造を素早く理解し、欠損値や不正なデータ型などの問題を発見するのに便利である。
# DataFrameの簡潔な要約を取得する
print(df.info())
上のコードは次のような出力を生成する:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 6 entries, 0 to 5
Data columns (total 7 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 PropertyID 6 non-null int64
1 Location 6 non-null object
2 Bedrooms 6 non-null int64
3 Bathrooms 6 non-null int64
4 Price 5 non-null float64
5 SquareFootage 6 non-null int64
6 ListingDate 5 non-null object
dtypes: float64(1), int64(4), object(2)
memory usage: 464.0+ bytes
について describe() メソッドは、次のような主要な統計指標を素早く要約してくれる。 卑しい, 標準偏差, パーセンタイルなどなど。デフォルトでは describe()
は数値データを扱うが、カテゴリーデータも扱うことができ、データの種類に応じてカスタマイズされた洞察を提供する。
パーセンタイル
:どのパーセンタイルを返すかを指定する0から1までの数値のリスト。デフォルトはNoneで、25パーセンタイル、50パーセンタイル、75パーセンタイルを返す。続きを読む これ.含む
:サマリーに含めるデータ型のリスト。int、float、object(文字列用)などのデータ型を指定できる。デフォルトはNoneで、すべての数値型が含まれます。除外
:サマリーから除外するデータタイプのリスト。このパラメータは なし
デフォルトでは、除外されるタイプはない。プリント(df.describe())
コードの出力は以下の通り:
物件ID所在地 価格 平方フィート 掲載日
カウント 6.000000 6 6.000000... 5.000000e+00 6.000000 5
ユニークNaN6NaN ... NaN NaN5
トップNaN ニューヨーク NaN ... ニューヨーク NaN ...
freqNaN1NaN ... NaN NaN1
平均 103.500000NaN 3.500000... 7.800000e+05 2150.000000NaN
標準値 1.870829NaN1.048809...2.774887e+05 755.645419NaN
最小 101.000000NaN 2.000000... 4.500000e+05 1400.000000NaN
25% 102.250000NaN 3.000000... 6.500000e+05 1725.000000NaN
50% 103.500000NaN 3.500000... 7.500000e+05 1900.000000NaN
75% 104.750000NaN 4.000000... 8.500000e+05 2375.000000NaN
最大 106.000000NaN 5.000000... 1.200000e+06 3500.000000NaN
カウント = 6
にとって ベッドルームすべての行が有効なデータを持っていることを示す。平均 = 3.5
にとって ベッドルームの平均を示す。 3.5ベッドルーム 物件につき標準偏差 = 1.048809
にとって ベッドルームつまり、ベッドルーム数には適度なばらつきがある。min = 2
そして max = 5
にとって ベッドルーム.25%
:データの25%が該当する以下の値(第1四分位値)。50%
:中央値。75%
:データの75%が該当する値(第3四分位値)。 について isnull() 関数は、DataFrame内の欠損データを特定するのに役立ちます。この関数は、元のDataFrameと同じ形状のDataFrameを返します。 真
データが欠落している場合 NaN
そして 偽
それ以外の場合。この関数は 和
を使用して、列または行にまたがる欠損値をカウントします。
# 欠損値を特定する
print(df.isnull())
# 各列の欠損値を数える
print(df.isnull().sum())
df.isnull()
出力:
物件ID 所在地 ベッドルーム バスルーム 価格 面積 掲載日
0 偽 偽 偽 偽 誤 誤 誤
1 誤 誤 誤 誤 誤 誤 誤
2 誤 誤 誤 誤 偽 誤 誤
3 偽 偽 誤 誤 誤 誤 正
4 偽 偽 偽 偽 誤 誤 誤
5 誤 誤 誤 誤 誤 誤 誤
df.isnull().sum()
出力:
物件ID 0
所在地 0
ベッドルーム 0
バスルーム 0
価格 1
平方フィート 0
リスト日付 1
dtype: int64
について ドロップナ 関数が削除する 行 または 列 欠損データあり NaN
を DataFrame から削除します。デフォルトでは、値が欠落している行を削除します。列のみを削除したり、すべての値や特定のサブセットの値が欠落している行や列を削除したりするように、動作をカスタマイズすることができます。
# 欠損 値の ある行を削除する
df_dropped_rows = df.dropna()
print(df_dropped_rows)
# 欠損 値の ある列を削除する
df_dropped_columns = df.dropna(axis=1)
print(df_dropped_columns)
をすべて削除した後のDataFrameは以下のようになる。 行 入り NaN
価値観の違いだ:
プロパティID | 所在地 | ベッドルーム | バスルーム | 価格 | スクエアフッテージ | 掲載日 |
101 | ニューヨーク | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | サンフランシスコ | 2 | 1 | 850000 | 1400 | 2023-06-01 |
105 | マイアミ | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | ヒューストン | 4 | 3 | 450000 | 2000 | 2023-07-01 |
以下は 列 入り NaN
値を削除した。
プロパティID | 所在地 | ベッドルーム | バスルーム | スクエアフッテージ |
101 | ニューヨーク | 3 | 2 | 1800 |
102 | サンフランシスコ | 2 | 1 | 1400 |
103 | ロサンゼルス | 4 | 3 | 2500 |
104 | シカゴ | 3 | 2 | 1700 |
105 | マイアミ | 5 | 4 | 3500 |
106 | ヒューストン | 4 | 3 | 2000 |
について フィルナ() 関数が欠損データを置き換える NaN
を指定された値で返します。パンダの ドロップナ
メソッドは、DataFrame から NULL 値を効率的に処理・削除します。 フィルナ()
メソッドは、次のような柔軟なソリューションを提供する。 NaN
値を選択した指定値で埋める。このメソッドは、固定値である 卑しい, 中央値, モードまたはその他の計算された統計。
# 'Price'列の欠損値を平均価格で埋める df['Price'] =
df['Price'].fillna(df['Price'].mean())
print(df)
コードの出力は NaN
値が平均価格に置き換わった。
プロパティID | 所在地 | ベッドルーム | バスルーム | 価格 | スクエアフッテージ | 掲載日 |
101 | ニューヨーク | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | サンフランシスコ | 2 | 1 | 850000 | 1400 | 2023-06-01 |
103 | ロサンゼルス | 4 | 3 | 780000 | 2500 | 2023-04-10 |
104 | シカゴ | 3 | 2 | 650000 | 1700 | NaN |
105 | マイアミ | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | ヒューストン | 4 | 3 | 450000 | 2000 | 2023-07-01 |
について 掲載日 カラムには NaN
値を使用する。計算を実行する代わりに、単に"不明.その方法はこうだ;
# 'ListingDate' 列の欠損値をプレースホルダで埋める
df['ListingDate'] =df['ListingDate'].fillna('Unknown')
print(df)
データフレームは次のようになる:
プロパティID | 所在地 | ベッドルーム | バスルーム | 価格 | スクエアフッテージ | 掲載日 |
101 | ニューヨーク | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | サンフランシスコ | 2 | 1 | NaN | 1400 | 2023-06-01 |
103 | ロサンゼルス | 4 | 3 | 780000 | 2500 | 2023-04-10 |
104 | シカゴ | 3 | 2 | 650000 | 1700 | 不明 |
105 | マイアミ | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | ヒューストン | 4 | 3 | 450000 | 2000 | 2023-07-01 |
Pandasのgroupby()関数は、DataFrameを1つ以上の列に基づいたグループに分割し、効率的なデータ分析や集計を可能にする多機能で強力なツールです。
この関数は、分割-適用-結合の原則に基づいて動作します。
まず、データがグループに分割されます。
次に、指定された関数が各グループに適用されます。
最後に、結果が新しい DataFrame に結合されます。
この合理的なアプローチは、複雑なデータ操作タスクを簡素化し、分析効率を高めます。
例えば、場所ごとに物件の平均価格を計算したり、寝室カテゴリーごとに物件数をカウントしたりすることができます。
# 場所' で グループ化 し、平均価格を計算する
avg_price_by_location = df.groupby('Location')['Price'].mean()
print(avg_price_by_location)
# ベッドルーム' で グループ化 し、総面積を計算する
total_sqft_by_bedrooms = df.groupby('Bedrooms')['SquareFootage'].sum()
print(total_sqft_by_bedrooms)
# 複数の列で グループ化 し、カウントを計算する
count_by_location_bedrooms = df.groupby(['Location','Bedrooms']).size()
print(count_by_location_bedrooms)
場所別の平均価格:
所在地
シカゴ 650000.0
ヒューストン 450000.0
ロサンゼルスNaN
マイアミ 1200000.0
ニューヨーク 750000.0
サンフランシスコ850000.0
名前価格, d型: float64
ベッドルーム別の総面積
寝室
2 1400
3 3500
4 4500
5 3500
場所とベッドルーム別のカウント:
ロケーションベッドルーム
シカゴ 3 1
ヒューストン 4 1
ロサンゼルス 4 1
マイアミ 5 1
ニューヨーク 3 1
サンフランシスコ2 1
dtype: int64
sort_values()関数は、DataFrameを1つ以上のカラムで昇順または降順にソートするために使用されます。並べ替えは、データの順位付けや、極端な値の特定(例えば、最高値の物件)、あるいは単に読みやすくするためのデータセットの整理に不可欠です。
# '価格'の降順でソートする
df_sorted_by_price = df.sort_values(by='Price',ascending=False)
print(df_sorted_by_price)
# 場所'で昇順にソートする
df_sorted_by_location = df.sort_values(by='Location')
print(df_sorted_by_location)
# 複数のカラムでソートする:まず'ベッドルーム'(昇順)でソートし、次に'価格'(降順)でソートする
df_sorted_by_bedrooms_price = df.sort_values(by=['Bedrooms','Price'], ascending=[True,False]) # 複数のカラムでソートする。
print(df_sorted_by_bedrooms_price)
価格順(降順):
物件ID所在地 価格 平方フィート 掲載日
4 105Miami5... 1200000.0 3500 2023-03-22
1 102サンフランシスコ2... 850000.0 1400 2023-06-01
0 101ニューヨーク3... 750000.0 1800 2023-05-15
3 104シカゴ3... 650000.0 1700NaN
5 106ヒューストン 450000.0 2000 2023-07-01
2 103ロサンゼルス4... 2500 2023-04-10
場所順(昇順):
[6行× 7 列]
物件ID 所在地 価格 平方フィート 掲載日
3 104 シカゴ 3 . .. 650000.0 1700 NaN
5 106 ヒューストン 450000.0 2000 2023-07-01
2 103 ロサンゼルス 4 . .. 2500 2023-04-10
4 105 マイアミ 5 . .. 1200000.0 3500 2023-03-22
0 101 ニューヨーク 3 . .. 750000.0 1800 2023-05-15
1 102 サンフランシスコ 2 . .. 850000.0 1400 2023-06-01
ベッドルーム(昇順)と価格(降順)で並べ替えます:
物件ID所在地 価格 平方フィート 掲載日
1 102サンフランシスコ2... 850000.0 1400 2023-06-01
0 101ニューヨーク3... 750000.0 1800 2023-05-15
3 104シカゴ3... 650000.0 1700NaN
5 106ヒューストン 450000.0 2000 2023-07-01
2 103ロサンゼルス4... 2500 2023-04-10
4 105マイアミ5... 1200000.0 3500 2023-03-22
apply()関数を使用すると、DataFrameの行や列にカスタム関数を適用することができます。Pandasの組み込み関数を超えた、要素単位の変換や計算、条件演算を行うための強力なメソッドです。
平方フィートあたりの価格を計算するために新しい列を作成する例を見てみよう。
# 平米あたりの価格を計算するカスタム関数を 定義する
def price_per_sqft(price, sqft):
returnprice/sqft if sqft!= 0 else 0
# カスタム関数を 適用して 新しい カラムを 作成する
df['PricePerSqFt']=df.apply(lambdarow: price_per_sqft(row['Price'],row['SquareFootage']),axis=1)
print(df)
上記コードの出力は以下の通り:
物件ID所在地 坪数 掲載日 価格坪単価
0 101ニューヨーク3... 1800 2023-05-15 416.666667
1 102サンフランシスコ2... 1400 2023-06-01 607.142857
2 103ロサンゼルス4...2500 2023-04-10NaN
3 104シカゴ3... 1700NaN382.352941
4 105マイアミ5... 3500 2023-03-22 342.857143
5 106ヒューストン4...2000 2023-07-01 225.000000
他の例としては、地名を大文字に変換することが挙げられる;
# 場所名をすべて大文字にする変換を適用する
df['Location'] =df['Location'].apply(lambda x: x.upper())
print(df)
これがその様子だ:
物件ID所在地 価格 平方フィート 掲載日
0 101ニューヨーク3... 750000.0 1800 2023-05-15
1 102サンフランシスコ2... 850000.0 1400 2023-06-01
2 103ロサンゼルス4... NaN2500 2023-04-10
3 104シカゴ3... 650000.0 1700NaN
4 105マイアミ5... 1200000.0 3500 2023-03-22
5 106ヒューストン 450000.0 2000 2023-07-01
このガイドでは、データ分析に不可欠な10の Pandas 関数について説明します。
そして read_csv()
のような方法で洗浄し、変身させる。 info()
, isnull()
そして フィルナ()
.これらの関数はあらゆるデータ分析ワークフローの基礎となり、データセットのクリーニング、操作、要約を効率的に行うことができます。これらの関数をマスターすることで、実世界のデータ課題に自信を持って対処できるようになります。今すぐ練習を開始し、これらのツールがどのように分析タスクを簡素化できるかを探求してください! apply()