Pandas Dataframe 基本の操作

DataFrame(データフレーム) とは、2次元の表形式のデータ構造です。pandas.DataFrame クラスを使います。

DataFrameの各行には行名が、各列には列名がふられており、これらの名前を使って特定の行・列にアクセスできます。たとえば、DataFrame型の変数 df があるとき、 df[“A”] のように書くと、列Aだけを抽出できます。

https://images.pyq.jp/repo/prod/pandas_start_02_overview/dataframe.jpg
https://images.pyq.jp/repo/prod/pandas_start_02_overview/access_series.jpg

DataFrameは、次のように pd.DataFrame() にリストのリストを渡すことで作成できます。

import pandas as pd
# 3行3列のDataFrameを作成
df = pd.DataFrame([[10, "りんご", "2022/4/1"],
                   [20, "みかん", "2022/4/2"],
                   [30, "りんご", "2022/4/3"]],
                   columns=["A", "B", "C"])  # 列名の指定

DataFrame型のオブジェクトには、「DataFrame」を略した df という変数名がよく使われます。

Series(シリーズ) とは1次元のデータ構造で、DataFrameの1列分のデータに相当します。 pandas.Series クラスを使います。

https://images.pyq.jp/repo/prod/pandas_start_02_overview/series.jpg

DataFrameクラスとSeriesクラスには、行や列を一括で処理するためのさまざまな機能が用意されています。そのため、Pythonのfor文を用いて1行ずつ処理するよりも、簡潔な記述で表形式データの操作ができます。

DataFrameの基本操作

まずは、pandasをインポートしましょう。pandasは慣例的にpd という略称が使われるため、ここでもpdと別名をつけてインポートします。

import pandas as pd

さっそく、pandasの基本的なデータ構造であるDataFrameを作ってみましょう。

pd.DataFrame(リストのリスト)とすると、リストからDataFrameを作成できます。また、引数columnsを使って列名を指定できます。今回は名前・身長・体重のデータを扱うので、列名には[“Name”, “Height”, “Weight”]を指定しましょう。

# DataFrameの作成
df = pd.DataFrame(
    [["佐藤", 172, 60], ["田中", 160, 50], ["鈴木", 165, 58]],  # リスト
    columns=["Name", "Height", "Weight"],  # 列名のリスト
)

作成したDataFrameの中身を確認してみましょう。Jupyter NotebookでDataFrame型の変数をセルの最後に書いて実行すると、見やすいスタイルで表示されます。

# 表示
df
NameHeightWeight
0佐藤17260
1田中16050
2鈴木16558

columns属性を使うと、DataFrameの列名一覧を確認できます。下記のコードを実行すると、作成時に引数columnsで指定した列名が表示されることがわかります。

df.columns
Index(['Name', 'Height', 'Weight'], dtype='object')

df[列名]のように書くと、列名を使ってDataFrameの各列の値にアクセスできます。ためしに列Nameを参照してみましょう。

df["Name"]
0    佐藤
1    田中
2    鈴木
Name: Name, dtype: object

DataFrameの1列分のデータは、Series型です。ためしに、先ほど参照した列Name型を確認すると、Series型であることがわかります。

type(df["Name"])
pandas.core.series.Series

コメント

タイトルとURLをコピーしました