AI資格ドリル
資格を選ぶ

用語比較

SeriesとDataFrameの違い

1次元のラベル付き配列か、行と列の表か(Python3データ分析)

pandasのSeriesとDataFrameの違いは次元で、Seriesは任意の型のデータを保持できる1次元のラベル付き配列、DataFrameは行と列を持つ表のような2次元のデータ構造です。

DataFrameに単一のラベルを渡すdf["A"]は列を選んでSeriesを返すので、表から1列を取り出すと1次元に変わります。

この記事の根拠と出典

各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。

SeriesとDataFrameの要点

Series

任意の型のデータを保持できる1次元のラベル付き配列。公式の例では、リストから作ると既定のRangeIndexが付く。

DataFrame

行と列を持つ、表のような2次元のデータ構造。df["A"]のように単一のラベルで列を選ぶと、Seriesが返る。

違いを表で確認

比較軸SeriesDataFrame
次元1次元のラベル付き配列行と列を持つ2次元のデータ構造
作り方(公式の例)pd.Series([1, 3, 5, np.nan, 6, 8]) のように、値のリストを渡す日付の索引(date_range)とラベル付きの列を指定して、NumPyの配列から作る
索引の付き方(公式の例)リストから作ると、既定のRangeIndex(0から5)が付く公式の例では、日付の索引(2013-01-01から6日分)を指定している
型(dtype)の持ち方1つのSeriesが1つのdtypeを持つ(公式の例ではNaNを含むのでfloat64)列ごとに1つのdtypeを持つ。NumPyの配列は全体で1つのdtype

Python3エンジニア認定データ分析試験の学習に使う書籍(Amazon)

PR

ほかの資格を含む参考書・問題集の一覧を見る

どこで迷っているかを切り分ける

01

値の並びを、ラベルつきで1本だけ持ちたい人

1列ぶんの値の並びを扱う場面です。公式の例のように、値のリストをSeriesに渡すと、既定のRangeIndexが付きます。

02

行と列のある表を扱いたい人

複数の列を持つ表を扱う場面です。DataFrameを使い、列ごとに別のdtype(数値、日時、文字列など)を持たせられます。

03

df["A"] の戻り値の型を問われて迷う人

公式は、単一のラベルを渡すと列が選ばれてSeriesが返ると説明しています。表からの取り出しなので、結果は1次元のSeriesです。

具体例で使い分ける

例 1

リストから Series を作る

公式の例です。pd.Series([1, 3, 5, np.nan, 6, 8]) で、6つの値からSeriesを作ります。

  • 索引は指定していないので、pandasが既定のRangeIndexを付けます。ラベルは0から5です。
  • 4番目の値(ラベル3)はNaNです。NaNを含むため、dtypeはfloat64になります。
  • 値は1次元に並んでおり、列の数や列名を持つ構造はありません。

結論: Seriesは、1次元のラベル付き配列です。リストから作ると、既定のRangeIndexが付きます。

例 2

DataFrame から df["A"] で列を選ぶ

公式の例です。日付を索引に持つ6行のDataFrame df から、df["A"] で A 列を選びます。

  • DataFrameに単一のラベルを渡すと、その列が選ばれます。
  • 戻り値は、2013-01-01から2013-01-06の6つの値を持つ1次元のSeriesです。名前(Name)はAです。
  • 元のDataFrameの索引(日付)が、そのままSeriesの索引になっています。

結論: df["A"]の戻り値はSeriesです。2次元の表から1列を取り出すと、1次元になります。

問題文から答えを選ぶ手順

  1. 1

    扱うデータが1列か、複数の列を持つ表かを見る

    1列ぶんならSeries、列の並んだ表ならDataFrameです。

  2. 2

    作り方を見る

    値のリストを渡すならSeries、ラベル付きの列を持つデータを渡すならDataFrameです。

  3. 3

    列の選択の戻り値を確かめる

    単一のラベルで列を選ぶとSeriesが返ります。

試験での見分け方

  • 1Series は、任意の型のデータを保持できる1次元のラベル付き配列である。
  • 2DataFrame は、行と列を持つ表のような2次元のデータ構造である。
  • 3DataFrame に単一のラベルを渡す df["A"] は、列を選んで Series を返す。

誤答しやすい選択肢

df["A"] の戻り値を、DataFrameと考える

修正: 公式は、単一のラベルを渡すと列が選ばれて Series が返ると説明しています。

DataFrame全体が、1つのdtypeを持つと考える

修正: NumPyの配列は全体で1つのdtypeですが、DataFrameは列ごとに1つのdtypeを持ちます。

リストから作ったSeriesに、索引がないと考える

修正: 索引を指定しなければ、pandasが既定のRangeIndexを付けます。公式の例では0から5です。

確認問題

Q1任意の型のデータを保持できる、1次元のラベル付き配列はどれか?

答え: Series

Seriesは1次元のラベル付き配列です。行と列を持つ2次元の構造はDataFrameです。

Q2DataFrame df に対して df["A"] を使うと、戻り値は何になるか?

答え: Series(A列の値を持つ1次元)

単一のラベルを渡すと、列が選ばれてSeriesが返ります。

Q3リストから索引を指定せずにSeriesを作ったとき、付く索引は?

答え: 既定のRangeIndex

pandasが、0から始まる既定のRangeIndexを付けます。

到達チェック

  • SeriesとDataFrameの、次元の違いを言い分けられる
  • df["A"] の戻り値がSeriesであることを説明できる
  • DataFrameがdtypeを列ごとに持つことを説明できる

同じ資格で次に知りたいこと

よくある質問

QSeriesとは?

A

pandasで、任意の型のデータを保持できる1次元のラベル付き配列です。リストから作ると、既定のRangeIndexが付きます。

QDataFrameとは?

A

pandasで、行と列を持つ表のような2次元のデータ構造です。列ごとに1つのdtypeを持ちます。

QSeriesとDataFrameの違いは?

A

次元です。Seriesは1次元、DataFrameは行と列を持つ2次元です。

Qdf["A"] の戻り値は?

A

Seriesです。DataFrameに単一のラベルを渡すと、列が選ばれてSeriesが返ります。

Qデータ分析試験の範囲?

A

本サイトの第4章pandasの「SeriesとDataFrameの基本」で扱います。出題の形式や範囲は、受験前に公式の案内で確認してください。

次に見る比較

執筆: AI資格ドリル編集部(運営者情報を見る)