データフレームを1つまたは複数の列でサブセット化するにはどうすればよいですか?

Pandasで大きなDataFrameを理解しようとする場合、列と行でサブセット化する必要がある場合があります。このチュートリアルでは、DataFrameの列パーティション化の最も一般的なユースケースを示します。

まず、サンプルのDataFrameをセットアップします。これは、お気に入りの環境で次のPythonコードを実行することによって行います(簡単にするために、AnacondaとJupyter Labを使用します)。

import pandas as pd # import the pandas library

languages = ({"language": [ "Python", "C-Sharp", "Javascript","PHP"] ,
         "avg_difficulty_level": [3, 2, 2, 1],
              "avg_salary": [120, 100, 120, 80],
          "applications": [10,15,14,20]})

# Now let's convert our dict to a DataFrame

languages = pd.DataFrame.from_dict(languages)

次に、head()メソッドを使用してデータフレームの最初の行を調べます。

languages.head()

ご覧のとおり、これはこの投稿で例として使用する非常に単純なDataFrameです。

  言語 avg_difficulty_level avg_salary アプリケーション
0 Python 3 120 10
1 Cシャープ 2 100 15
2 Javascript 2 120 14
3 PHP 1 80 20

単一の列のフィルタリング

最も単純なケースから始めます。これは、データセットから1つの列をサブセット化することです。次のコマンドを実行すると、Seriesオブジェクトが作成されます。

名前/ラベル別

languages["language"]

出力はシリーズです:

0 Python
1Cシャープ
2 Javascript
3 PHP
名前:言語、dtype:オブジェクト
type(languages["language"])

pandas.core.series.Series

インデックス別

次のコマンドも、最初の列を含むシリーズを返します

languages.iloc[:,0]

複数の列を選択する

名前で

列のリストを渡すと、Pandasはデータの一部を含むDataFrameを返します。

languages[["language", "applications"]]
  言語 アプリケーション
0 Python 10
1 Cシャープ 15
2 Javascript 14
3 PHP 20

ラベル別(loc付き)

df.loc[:,["language","applications"]]

結果は同様になります。

インデックス別

次に、インデックスを使用して複数の列を取得しましょう。

languages.iloc[: ,[0,3]]
  言語 アプリケーション
0 Python 10
1 Cシャープ 15
2 Javascript 14
3 PHP 20

条件別

この場合、名前が特定の式に一致する列のみを表示します。非常に便利なフィルター方法を使用します。

languages.filter(axis = 1, like="avg")

ノート:

  1. 特定の正規表現(regex)でフィルタリングすることもできます。
  2. パラメータaxis = 0を適用して、特定の行の値でフィルタリングできます。

条件で特定の行をフィルタリングする

行の値に従ってDataFrameをサブセット化する非常に簡単な方法は次のとおりです。

languages[(languages["applications"] > 15)]

結果は1つだけです。

languages[(languages["applications"] > 15)]
  言語 avg_difficulty_level avg_salary アプリケーション
3 PHP 1 80 20

コメントを残す

CRMを購入する前に、Excelでシンプルなリードトラッキングシステムを作成する方法

CRMを購入する前に、Excelでシンプルなリードトラッキングシステムを作成する方法

CRMソフトウェアに投資する前に、表、ドロップダウンリスト、フォローアップ日、フィルター、条件付き書式設定、シンプルなピボットテーブルダッシュボードを備えた実用的なExcelリードトラッカーを作成しましょう。

家庭保育用のシンプルな印刷可能な保育出席記録シート:記録すべき内容とその理由

家庭保育用のシンプルな印刷可能な保育出席記録シート:記録すべき内容とその理由

このシンプルな印刷可能な保育出席シートは、家庭での保育の際に、到着、出発、欠席、署名、および必要な記録を記録するために使用できます。

Excel用シンプル在庫棚卸シートテンプレート:小売店向けレイアウトで迅速な照合が可能

Excel用シンプル在庫棚卸シートテンプレート:小売店向けレイアウトで迅速な照合が可能

SKU、場所、計数数量、差異、再計数、印刷対応機能を備えた、小売店向けのシンプルなExcel在庫棚卸シートを作成します。

地域ビジネス向け印刷可能な1ページマーケティング戦略テンプレート

地域ビジネス向け印刷可能な1ページマーケティング戦略テンプレート

この印刷可能な1ページ構成のマーケティング戦略テンプレートを使用して、地域の顧客層、提供する商品・サービス、チャネルミックス、予算、施策、測定可能な目標を設定しましょう。

従業員の勤務シフト表テンプレート(Excel用、自動時間計算機能付き)を無料でダウンロードできます。

従業員の勤務シフト表テンプレート(Excel用、自動時間計算機能付き)を無料でダウンロードできます。

開始/終了時刻、休憩時間の控除、夜勤処理、週ごとの合計、簡単な勤務時間計算機能などを備えた、無料の従業員シフトスケジュールをExcelで作成できます。

米国の中小サービス業向けおすすめ無料請求書作成アプリ(2026年版)

米国の中小サービス業向けおすすめ無料請求書作成アプリ(2026年版)

Zoho Invoice、Square、Wave、PayPal、Invoice Ninjaなど、2026年に米国サービス業向けに提供される最高の無料請求書作成アプリを比較してみましょう。

小規模チーム向けのシンプルな隔週給与トラッカーExcelテンプレート:初心者にも使いやすい設定

小規模チーム向けのシンプルな隔週給与トラッカーExcelテンプレート:初心者にも使いやすい設定

小規模チーム向けに、Excelでシンプルな隔週給与トラッカーを作成します。明確なシート、数式、チェック機能、そして安全な給与照合のための実用的な制限事項を盛り込みます。

Salesforceの連絡先をクリーンなExcel形式にエクスポートする方法

Salesforceの連絡先をクリーンなExcel形式にエクスポートする方法

Salesforceの連絡先をクリーンなExcelファイルにエクスポートする方法、IDとテキストフィールドを保持する方法、重複を安全に削除する方法、そしてよくあるCSVファイルのミスを回避する方法を学びましょう。

小規模請負業者向け、印刷可能なExcel形式の建設工事見積書テンプレート

小規模請負業者向け、印刷可能なExcel形式の建設工事見積書テンプレート

実用的なコストカテゴリ、数式、マークアップフィールド、印刷設定、および請負業者がすぐに使えるチェックリストを備えた、印刷可能な建設工事見積書をExcelで作成します。

Word用 印刷可能なイベント企画チェックリスト&予算テンプレート

Word用 印刷可能なイベント企画チェックリスト&予算テンプレート

Word用の印刷可能なイベント企画チェックリストと予算テンプレートを活用し、担当者、期限、コスト、ベンダー、イベント当日の準備状況を明確な品質チェック項目で管理しましょう。