pandas はどのようなデータを扱うか?#
pandas を使い始めたい
In [1]: import pandas as pd
pandas パッケージをロードして使い始めるには、パッケージをインポートします。コミュニティで合意された pandas のエイリアスは
pd
なので、pandas をpd
としてロードすることが、pandas のすべてのドキュメントにおける標準的な慣習とされています。
pandas のデータテーブル表現#
タイタニック号の乗客データを保存したいとします。何人かの乗客について、名前(文字)、年齢(整数)、性別(男性/女性)のデータを知っています。
In [2]: df = pd.DataFrame( ...: { ...: "Name": [ ...: "Braund, Mr. Owen Harris", ...: "Allen, Mr. William Henry", ...: "Bonnell, Miss. Elizabeth", ...: ], ...: "Age": [22, 35, 58], ...: "Sex": ["male", "male", "female"], ...: } ...: ) ...: In [3]: df Out[3]: Name Age Sex 0 Braund, Mr. Owen Harris 22 male 1 Allen, Mr. William Henry 35 male 2 Bonnell, Miss. Elizabeth 58 female
テーブルに手動でデータを格納するには、
DataFrame
を作成します。リストの Python 辞書を使用する場合、辞書のキーは列ヘッダーとして使用され、各リストの値はDataFrame
の列として使用されます。
DataFrame
は、列にさまざまな型(文字、整数、浮動小数点値、カテゴリカルデータなど)のデータを格納できる 2 次元データ構造です。スプレッドシート、SQL テーブル、または R の data.frame
に似ています。
テーブルには 3 つの列があり、それぞれに列ラベルが付いています。列ラベルはそれぞれ
Name
,Age
,Sex
です。列
Name
は、各値が文字列であるテキストデータで構成され、列Age
は数値で、列Sex
はテキストデータです。
スプレッドシートソフトウェアでは、データのテーブル表現は非常に似たものになります。

DataFrame
の各列は Series
である#
列
Age
のデータのみを操作したい。In [4]: df["Age"] Out[4]: 0 22 1 35 2 58 Name: Age, dtype: int64
pandas
DataFrame
の単一の列を選択すると、結果は pandasSeries
になります。列を選択するには、角かっこ[]
の間に列ラベルを使用します。
注記
Python の 辞書 に慣れている場合、単一の列の選択は、キーに基づいて辞書の値を選択するのと非常に似ています。
Series
をゼロから作成することもできます。
In [5]: ages = pd.Series([22, 35, 58], name="Age")
In [6]: ages
Out[6]:
0 22
1 35
2 58
Name: Age, dtype: int64
pandas Series
には、DataFrame
の単一の列であるため、列ラベルはありません。Series
には行ラベルがあります。
DataFrame または Series で何かをする#
乗客の最大年齢を知りたい。
これは、
DataFrame
で、Age
列を選択し、max()
を適用することで実行できます。In [7]: df["Age"].max() Out[7]: 58
または、
Series
に対してIn [8]: ages.max() Out[8]: 58
max()
メソッドで示されるように、DataFrame
または Series
で何かをすることができます。pandas は多くの機能を提供しており、それぞれが DataFrame
または Series
に適用できるメソッドです。メソッドは関数なので、括弧 ()
を使用することを忘れないでください。
データテーブルの数値データの基本的な統計に関心があります。
In [9]: df.describe() Out[9]: Age count 3.000000 mean 38.333333 std 18.230012 min 22.000000 25% 28.500000 50% 35.000000 75% 46.500000 max 58.000000
describe()
メソッドは、DataFrame
の数値データの概要をすばやく提供します。Name
およびSex
列はテキストデータであるため、デフォルトではdescribe()
メソッドでは考慮されません。
多くの pandas 操作は、DataFrame
または Series
を返します。describe()
メソッドは、pandas Series
または pandas DataFrame
を返す pandas 操作の例です。
ユーザーガイドの describe による集計 に関するセクションで、describe
のその他のオプションを確認してください。
注記
これはほんの始まりにすぎません。スプレッドシートソフトウェアと同様に、pandas はデータを列と行を持つテーブルとして表現します。表現とは別に、スプレッドシートソフトウェアで行うデータ操作と計算も pandas でサポートされています。次のチュートリアルを読み進めて、始めましょう!
覚えておいてください
パッケージをインポートします。つまり、
import pandas as pd
データのテーブルは pandas
DataFrame
として格納されます。DataFrame
の各列はSeries
です。DataFrame
またはSeries
にメソッドを適用することで、処理を実行できます。
DataFrame
および Series
のより詳細な説明は、データ構造の概要 で提供されています。