カテゴリ: DataFrameの作成と初期化(dict・list・NumPy) 更新日: 2026/08/02

PandasでSeriesを組み合わせてDataFrameを作成する方法を完全解説 初心者でもわかるデータフレーム作成入門

4534
PandasでSeriesを組み合わせてDataFrameを作成する方法

先生と生徒の会話形式で理解しよう

生徒

「PandasのSeriesを使って表を作ることはできますか」

先生

「はいSeriesを組み合わせることでDataFrameを作ることができますとても実用的な方法です」

生徒

「辞書やリストとは違う方法なんですね」

先生

「その通りですSeriesは列として扱えるので柔軟なデータ構築ができます順番に見ていきましょう」

1. Seriesとは何か

1. Seriesとは何か
1. Seriesとは何か

PandasのSeriesは一次元のデータ構造でありインデックスと値の組み合わせで構成されます配列のように見えますがそれぞれのデータにラベルが付いている点が特徴ですPythonでデータ分析を行う際には最も基本となる構造の一つです

Seriesは一つの列のようなイメージで扱うことができ複数のSeriesを組み合わせることでDataFrameという表形式のデータを作成することができますこの仕組みを理解することでPandas DataFrame 作成の理解が一気に深まります

2. Seriesを作成する基本

2. Seriesを作成する基本
2. Seriesを作成する基本

まずはSeriesを作成する基本を確認しましょうリストや配列から簡単に作ることができますこの段階でインデックスを指定することも可能です


import pandas as pd

s1 = pd.Series([10, 20, 30], index=["A", "B", "C"])
print(s1)

A    10
B    20
C    30
dtype: int64

このようにSeriesはインデックスと値を持つシンプルな構造ですDataFrameを作る前にこの形を理解しておくことが重要です

3. Seriesを組み合わせてDataFrameを作る方法

3. Seriesを組み合わせてDataFrameを作る方法
3. Seriesを組み合わせてDataFrameを作る方法

Seriesを複数用意してそれらをまとめることでDataFrameを作成できますそれぞれのSeriesが列として扱われる点がポイントです


import pandas as pd

name = pd.Series(["田中", "佐藤", "鈴木"])
age = pd.Series([20, 25, 30])

df = pd.DataFrame({
    "名前": name,
    "年齢": age
})

print(df)

    名前  年齢
0  田中  20
1  佐藤  25
2  鈴木  30

このようにSeriesを列としてまとめることで簡単にDataFrameを作成できますPandas Series DataFrame 変換の基本形です

4. インデックスを揃える重要性

4. インデックスを揃える重要性
4. インデックスを揃える重要性

Seriesを組み合わせる際に重要なのがインデックスですインデックスが異なる場合はデータがずれてしまうため注意が必要です


import pandas as pd

s1 = pd.Series([1, 2, 3], index=["A", "B", "C"])
s2 = pd.Series([10, 20, 30], index=["A", "B", "D"])

df = pd.DataFrame({
    "列1": s1,
    "列2": s2
})

print(df)

   列1    列2
A  1.0  10.0
B  2.0  20.0
C  3.0   NaN
D  NaN  30.0

このようにインデックスが一致しない場合は欠損値が発生しますPandas DataFrame 作成ではインデックスの管理がとても重要です

5. 列名を指定して分かりやすくする

5. 列名を指定して分かりやすくする
5. 列名を指定して分かりやすくする

DataFrameを作る際には列名をしっかり指定することでデータの意味が分かりやすくなります特に実務では必須の考え方です


import pandas as pd

price = pd.Series([100, 200, 300])
quantity = pd.Series([2, 3, 4])

df = pd.DataFrame({
    "価格": price,
    "数量": quantity
})

print(df)

   価格  数量
0  100   2
1  200   3
2  300   4

列名を工夫することでデータの意味が明確になり分析しやすくなります

6. 辞書形式との違い

6. 辞書形式との違い
6. 辞書形式との違い

Seriesを使った方法は辞書からDataFrameを作る方法と似ていますが大きな違いはインデックスを持てる点ですSeriesはそれぞれ独立したインデックスを持つため柔軟なデータ結合が可能です

一方で辞書の場合は値の長さが揃っている必要がありますそのため状況に応じて使い分けることが重要ですPandas DataFrame 作成方法を複数知っておくことで柔軟に対応できます

7. 実務での活用例

7. 実務での活用例
7. 実務での活用例

実務では異なるデータソースから取得したSeriesを組み合わせてDataFrameを作るケースがよくあります例えば売上データと顧客データを別々に取得して後からまとめるような場合です

この方法を使うことでデータの加工や統合が簡単に行えますPandas Series DataFrame 作成はデータ分析の現場で非常に重要なスキルです

8. 初心者がつまずきやすいポイント

8. 初心者がつまずきやすいポイント
8. 初心者がつまずきやすいポイント

初心者がつまずきやすいのはインデックスの違いによるデータのずれですSeries同士を結合するときは必ずインデックスを確認するようにしましょう

また欠損値が発生した場合はNaNとして扱われるため後処理が必要になることがありますPandas DataFrame 作成の基本としてこの挙動を理解しておくことが重要です

まとめ

まとめ
まとめ

今回はPandasでSeriesを組み合わせてDataFrameを作成する方法について基礎から丁寧に理解してきましたSeriesとDataFrameの関係を正しく理解することはPythonによるデータ分析の第一歩であり非常に重要なポイントですSeriesは一次元のデータ構造でありそれぞれが一つの列として扱われるため複数のSeriesをまとめることで表形式のDataFrameを作ることができますこの仕組みを理解することでPandas DataFrame 作成の理解がより深まります

まず重要なのはSeriesはインデックスと値の組み合わせで構成されているという点です単なる配列とは異なりそれぞれのデータに意味を持たせることができるため柔軟なデータ操作が可能になりますこのSeriesを複数用意してDataFrameに渡すことで列として統合されるという流れをしっかり押さえておくことが大切ですPandas Series DataFrame 変換の基本として何度も確認しておきましょう

次に理解しておきたいのがインデックスの重要性ですSeries同士のインデックスが一致していない場合DataFrameに変換した際にデータが自動的に揃えられ一致しない部分は欠損値として扱われますこの挙動は便利である一方で意図しない結果になる原因にもなりますそのためデータを扱う際には必ずインデックスを確認する習慣を身につけることが重要ですPandas DataFrame インデックス管理は初心者が最初につまずきやすいポイントでもあります

また列名の設定も非常に重要な要素です列名を適切に設定することでデータの意味が明確になり後から見たときに理解しやすくなります特に実務では複数人でデータを扱うことが多いため分かりやすい列名を付けることは必須のスキルとなりますPandas DataFrame 列名 設定は見やすいデータを作るための基本です

Seriesを使ったDataFrame作成は辞書やリストを使う方法と比較して柔軟性が高い点も特徴ですそれぞれのSeriesが独立したインデックスを持てるため異なるデータを後から統合するようなケースに適しています例えば異なるシステムから取得したデータを結合する場合や部分的に欠損があるデータを扱う場合に非常に有効ですPandas Series DataFrame 作成方法の中でも実務で活躍する場面が多い手法です

さらに実務を意識するとSeriesを使ったDataFrame作成はデータ統合や前処理の場面で頻繁に使用されます売上データや顧客情報ログデータなどを別々に取得してから一つのDataFrameにまとめることで分析や可視化がしやすくなりますこのような処理をスムーズに行うためには今回学んだSeriesの扱い方をしっかり理解しておく必要があります

初心者の方はまず基本となるSeriesの作成とDataFrameへの変換を繰り返し練習することが大切ですその中でインデックスや列名の扱いに慣れていくことで自然と理解が深まりますまた欠損値の扱いやデータの整合性についても意識することでより実践的なスキルを身につけることができます

Pandas Series DataFrame 作成というキーワードはデータ分析の基礎でありこの理解が今後の学習に大きく影響します今回の内容をしっかり復習し実際にコードを書いて試しながら理解を深めていきましょうデータを自在に扱えるようになることで分析の幅が大きく広がりより高度な処理にも挑戦できるようになります

理解を深めるサンプルコード


import pandas as pd

s1 = pd.Series([1, 2, 3])
s2 = pd.Series([10, 20, 30])

df = pd.DataFrame({
    "列A": s1,
    "列B": s2
})

print(df)

   列A  列B
0   1  10
1   2  20
2   3  30

import pandas as pd

s1 = pd.Series([100, 200], index=["A", "B"])
s2 = pd.Series([300, 400], index=["A", "C"])

df = pd.DataFrame({
    "データ1": s1,
    "データ2": s2
})

print(df)

     データ1  データ2
A   100.0  300.0
B   200.0    NaN
C     NaN  400.0
先生と生徒の振り返り会話

生徒

「Seriesを組み合わせるだけでDataFrameが作れるのは分かりやすかったです」

先生

「そうですね基本はシンプルですがインデックスの扱いがとても重要になります」

生徒

「インデックスが違うとデータがずれるのが印象的でした」

先生

「その点に気付けたのはとても良いですね実務でもよく使うポイントです」

生徒

「列名もちゃんと付けたほうが良い理由が分かりました」

先生

「はい見やすさはとても重要ですこれからも意識して使っていきましょう」

DataFrameの作成と初期化(dict・list・NumPy)の一覧へ
新着記事
AWS
【AWS】CloudWatchで障害検知を自動化する設計パターン
【AWS】CloudWatchで障害検知を自動化する設計パターンを初心者向けに解説!AWS監視とアラート通知の基本
AWS
【AWS】RDSの無料枠とは?対象インスタンスタイプと注意点を解説
【AWS】RDSの無料枠とは?対象インスタンスタイプと注意点を解説
Flutter
Flutterの入力フォーム作成!TextField・TextFormFieldの基本
Flutterの入力フォーム作成!TextField・TextFormFieldの基本を初心者向けに解説
AWS
IAM Identity Centerの料金・SSO対応・Entra ID連携を詳しく解説
IAM Identity Centerの料金・SSO対応・Entra ID連携を詳しく解説【初心者向けAWS IAM】
人気記事
Flutter
Flutterの開発に必要なもの!パソコン・ツール・OSなど準備まとめ
Flutterの開発に必要なもの!パソコン・ツール・OSなど準備まとめ
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク