【Python】df(DataFrame)とは?基本的な使い方やデータ操作について解説

【Python】df(DataFrame)とは?基本的な使い方やデータ操作について解説

公開: 更新:



Pythonのdfとは

Pythonのdf(DataFrame)はpandasライブラリが提供する2次元のデータ構造で、行と列を持つテーブル形式でデータを管理するオブジェクトです。データフレームは表計算ソフトのExcelやデータベースのテーブルと同様の構造を持ち、異なるデータ型整数浮動小数点数文字列など)を同一のデータ構造内で混在して扱うことができます。

【dfの例】
import pandas as pd

data = {
    'name': ['田中', '佐藤', '鈴木'],
    'age': [25, 30, 35],
    'city': ['東京', '大阪', '名古屋']
}
df = pd.DataFrame(data)
print(df)
行番号 詳細説明
1行目 pandasライブラリをpdという名前でインポート
3行目 辞書形式でサンプルデータを定義開始
4行目 name列に文字列のリストを設定
5行目 age列に数値のリストを設定
6行目 city列に文字列のリストを設定
7行目 辞書の定義終了
8行目 辞書データからDataFrameオブジェクトを作成しdfに代入
9行目 作成したDataFrameの内容をコンソールに出力
  name  age  city
0   田中   25    東京
1   佐藤   30    大阪
2   鈴木   35   名古屋

データフレームの各列は異なるデータ型を持つことが可能で、数値データと文字列データを同時に格納できる柔軟性があります。各行にはインデックス(デフォルトでは0から始まる連番)が自動的に割り当てられ、データの特定や操作時の参照に使用されます。

【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」

Pythonでデータフレームを作成する方法

データフレームを使用するためには、まずpandasライブラリをインポートして、辞書やリスト、外部ファイルなどからDataFrameオブジェクトを作成する必要があります。基本的な作成方法は辞書形式のデータをpd.DataFrame()コンストラクタに渡すことで、キーが列名、値がデータのリストとなります。

import pandas as pd

student_data = {
    'student_id': [1, 2, 3, 4],
    'score': [85, 92, 78, 88],
    'subject': ['数学', '英語', '国語', '理科']
}
df = pd.DataFrame(student_data)
print(df)
行番号 詳細説明
1行目 pandasライブラリをpdという名前でインポート
3行目 学生データの辞書を定義開始
4行目 student_id列に学生IDのリストを設定
5行目 score列に点数のリストを設定
6行目 subject列に科目名のリストを設定
7行目 辞書の定義終了
8行目 辞書からDataFrameを作成しdfに代入
9行目 作成したDataFrameをコンソールに出力
   student_id  score subject
0           1     85      数学
1           2     92      英語
2           3     78      国語
3           4     88      理科

リストのリストからデータフレームを作成する場合は各内側のリストが一行のデータを表し、列名はcolumnsパラメータで明示的に指定できます。外部ファイルからDataFrameを作成する場合は、pd.read_csv()pd.read_excel()などの読み込み専用メソッドを使用します。

Pythonでdfを使用したデータ操作の方法

データフレームのデータ操作には多様なメソッドが提供されており、行や列の選択、フィルタリング、並び替え、集計などの処理を実行できます。列の選択はdf['列名']またはdf.列名の記法で行い、複数列を同時に選択する場合はリスト形式で列名を指定します。

import pandas as pd

sales_data = {
    'product': ['A', 'B', 'A'],
    'sales': [100, 150, 80],
    'profit': [20, 45, 16]
}
df = pd.DataFrame(sales_data)
filtered_df = df[df['sales'] >= 100]
print(filtered_df)
行番号 詳細説明
1行目 pandasライブラリをpdという名前でインポート
3行目 売上データの辞書を定義開始
4行目 product列に商品名のリストを設定
5行目 sales列に売上数値のリストを設定
6行目 profit列に利益数値のリストを設定
7行目 辞書の定義終了
8行目 辞書からDataFrameを作成しdfに代入
9行目 売上が100以上の行を抽出してfiltered_dfに代入
10行目 フィルタリング結果をコンソールに出力
  product  sales  profit
0       A    100      20
1       B    150      45

条件に基づく行のフィルタリングはdf[条件式]の形式で記述し、複数の条件を組み合わせる場合は論理演算子&|~)を使用します。データの集計処理ではgroupby()メソッドが中心的な役割を果たし、指定した列の値でグループ化してから各グループに対して統計関数を適用します。

※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。

ITやプログラミングに関するコラム


ITやプログラミングに関するニュース

ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

コードキャンプが提供する無料で学べるプログラミングスクール講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア 金融業界の業務効率化を加速するニッセイアセットマネジメントの生成AI×GAS活用研修事例 - IT・プログラミングを知って学べるコネクトメディア 【製造業のDX人材育成事例】デジタル人材の即戦力化を実現する、日本ガイシ株式会社の異動者向オンボーディング研修 - ITやプログラミングを知って学べるコネクトメディア フューチャーアーキテクト株式会社が実現した新入社員向けIT研修プログラムでタスクフォース制度が主体的な学びと成長を生み出す - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【IT新入社員研修】オンラインとオフラインの最適バランスを実現したFutureOneの導入事例 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【新入社員研修】柔軟なハイブリッド型Java研修で実現した新卒20名の成長と成果|サークレイス株式会社 - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する