Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonでDataFrameを作成する方法を徹底解説【pandas入門】

DataFrame(データフレーム)とは、行と列から構成される2次元のデータ構造です。ExcelのようなスプレッドシートやSQLのテーブルと同様に、データを表形式で直感的に扱うことができます。DataFrameは、Pythonのデータ分析ライブラリ「pandas」が提供する中心的なオブジェクトであり、データ分析の現場で最もよく使われるデータ形式です。

DataFrameを作成するには、まずpandasをインポートします。DataFrameはDataFrame()関数を使って生成でき、この関数は1〜2個の引数を受け取ります。第1引数にはテーブルに格納するデータを指定し、データは「辞書型のリスト」または「リストのリスト」のいずれかの形式で渡せます。「リストのリスト」形式の場合は、第2引数として列名を指定する必要があります。

辞書型のリストからDataFrameを作成する

最も一般的な方法は、キーに列名、値にデータのリストを持つ辞書を渡す方法です。

import pandas as pd

data = {'Name': ['Karan', 'Rohit', 'Sahil', 'Aryan'], 'Age': [23, 22, 21, 24]}

df = pd.DataFrame(data)

df  # DataFrameを表示

出力結果

    Name  Age
0   Karan   23
1   Rohit   22
2   Sahil   21
3   Aryan   24

実行すると、「Name」と「Age」という2つの列を持つテーブルが出力され、指定したデータがそれぞれの列に自動的に格納されます。行にはデフォルトで0から始まる連番のインデックスが割り当てられます。

リストのリストからDataFrameを作成する

データを行単位のリストとして持っている場合は、リストのリストをそのまま渡すこともできます。

import pandas as pd

data = [['Karan', 23], ['Rohit', 22], ['Sahil', 21], ['Aryan', 24]]

df = pd.DataFrame(data, columns=['Name', 'Age'])

df

出力結果は先ほどの例とまったく同じになります。違いはデータの渡し方だけです。この形式では列名がデータ自体に含まれていないため、columns引数で列名を明示的に指定する必要がある点に注意しましょう。

カスタムインデックス付きのDataFrameを作成する

デフォルトの連番インデックスの代わりに、任意のラベルを行インデックスとして設定することも可能です。

import pandas as pd

data = {'Name': ['Karan', 'Rohit', 'Sahil', 'Aryan'], 'Age': [23, 22, 21, 24]}

df = pd.DataFrame(data, index=['No.1', 'No.2', 'No.3', 'No.4'])

df

index引数にインデックス名のリストを渡すことで、各行に「No.1」「No.2」などの任意のラベルが付いたDataFrameが作成されます。データの件数とインデックスの要素数は一致させる必要があります。

まとめ

  • DataFrameはpandasの2次元表形式データ構造で、スプレッドシートやSQLテーブルのように扱える
  • 辞書型のリストから作成する場合は、キーが自動的に列名になる
  • リストのリストから作成する場合は、columns引数で列名を指定する
  • index引数を使えば、任意のラベルを行インデックスとして設定できる

これらの基本を押さえておけば、CSVファイルやデータベースから読み込んだデータの加工・分析にもスムーズに応用できます。まずは小さなサンプルデータで実際に手を動かしてみることをおすすめします。

  1. PythonのopenpyxlでExcelグラフを作成する方法|棒グラフ作成をステップ解説

    この記事では、Pythonのopenpyxlモジュールを使ってExcelにグラフを作成する方法を解説します。テニス選手のグランドスラム優勝回数をサンプルデータとして、ゼロからExcelスプレッドシートを作成し、openpyxlで棒グラフを描画するまでの一連の手順を紹介します。 はじめに Microsoft Officeでは、Office 2007以降、より多くの行と列を扱えるようにするため、Excelシートに新しい拡張子「.xlsx」が導入されました。この変更により、ExcelファイルはZIP圧縮されたXMLベースのフォーマットへと移行しています。Microsoftのスプレッドシートは今やビ

  2. Python(Matplotlib)でグラフに凡例を追加する方法を徹底解説

    はじめにグラフの最大の目的は、データをわかりやすく伝えることです。「百聞は一見に如かず」という言葉のとおり、言葉では表現しにくい複雑な情報も、一枚の図やグラフがあれば直感的に伝えることができます。しかし、多くの情報を含むグラフを描く場合は、どのデータがどの要素に対応しているのかを読み手が理解できるよう、凡例(legend)を添えると効果的です。準備:matplotlibのインストールとデータ作成matplotlibでは、凡例をさまざまな方法で表示できます。また、特定のポイントに注目させたい場合には注釈(annotation)も有効で、グラフ上の情報を読み手が理解する助けになります。まず、Pyt