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ファイルやデータベースから読み込んだデータの加工・分析にもスムーズに応用できます。まずは小さなサンプルデータで実際に手を動かしてみることをおすすめします。
-
PythonのopenpyxlでExcelグラフを作成する方法|棒グラフ作成をステップ解説
この記事では、Pythonのopenpyxlモジュールを使ってExcelにグラフを作成する方法を解説します。テニス選手のグランドスラム優勝回数をサンプルデータとして、ゼロからExcelスプレッドシートを作成し、openpyxlで棒グラフを描画するまでの一連の手順を紹介します。 はじめに Microsoft Officeでは、Office 2007以降、より多くの行と列を扱えるようにするため、Excelシートに新しい拡張子「.xlsx」が導入されました。この変更により、ExcelファイルはZIP圧縮されたXMLベースのフォーマットへと移行しています。Microsoftのスプレッドシートは今やビ
-
Python(Matplotlib)でグラフに凡例を追加する方法を徹底解説
はじめにグラフの最大の目的は、データをわかりやすく伝えることです。「百聞は一見に如かず」という言葉のとおり、言葉では表現しにくい複雑な情報も、一枚の図やグラフがあれば直感的に伝えることができます。しかし、多くの情報を含むグラフを描く場合は、どのデータがどの要素に対応しているのかを読み手が理解できるよう、凡例(legend)を添えると効果的です。準備:matplotlibのインストールとデータ作成matplotlibでは、凡例をさまざまな方法で表示できます。また、特定のポイントに注目させたい場合には注釈(annotation)も有効で、グラフ上の情報を読み手が理解する助けになります。まず、Pyt