【データ処理】Pandasのデータ構造: SeriesとDataFrameを理解する

データ処理
Yamu
Yamu

今回は

Pythonのライブラリ
pandasのデータ構造

SeriesとDataFrameを

紹介していきます

[PR]※本サイトには、プロモーションが含まれています

Pandasとは

データの構造化や操作、分析、可視化など

さまざまなデータ処理タスクを行う
ための

pythonライブラリ

例えばデータの中から

ある条件だけを満たす行を抽出したり


データを結合する操作が出来ます。

Pandasのデータ構造

主に「DataFrame」と「Series」という

2つの主要なデータ構造を提供しています

DataFrameは行と列の両方を持つ2次元のデータ構造

Seriesは、1次元のデータ構造

Seriesのデータ構造

Seriesは1次元配列のようなオブジェクト

Seriesは値とインデックス(キー)

が含まれます

シリーズを作成するコードを書いて値を

確認していきます。

import pandas as pd

# Pandasライブラリを使用してPythonでシリーズ(Series)オブジェクトを作成し、それを変数objに割り当てる
obj = pd.Series([2,3,6,7,10])

print(obj)

インデックスに

0からN-1までの連続した整数が

自動で振り分けられ

各インデックスには

64ビットの整数型データが

格納されていることが確認できます。

Seriesはフィルタリングや探索数学的な演算も出来ます。

import pandas as pd

# Pandasライブラリを使用してPythonでシリーズ(Series)オブジェクトを作成し、それを変数objに割り当てる
obj = pd.Series([2,3,6,7,10])

# フィルタリングを行い2の倍数のみobj2に格納する
obj2 = obj[obj % 2 == 0]

# 結果を表示
print(obj2)
Yamu
Yamu

フィルタリングした後でも
インデックスとデータの結びつきは
保持されるんですね

インデックスをリセットしたい
場合は下記のコードを利用します

# obj2のインデックスをリセット
obj2 = obj2.reset_index(drop=True)

# 結果を表示
print(obj2)

DataFrameのデータ構造

DataFrame

インデックスカラム,データの

3要素を持つテーブル形式

データ構造を持ちます

import pandas as pd

# DataFrameを作成するためにディクショナリ形式を修正
dic = { 'ID' : ['100' , '101' , '102','103','104'],
        'City' : ['Tokyo','Osaka', 'Kyoto','Hokkaido','Tokyo'],
        'Name' : ['Sato','Suzuki','Tanaka','Sasaki','Ohno'],
        'Test' : ['Pass','Fail','Pass','Fail','Pass'],
}

# ディクショナリ形式をDataFrameに変換
df = pd.DataFrame(dic)
print(df)

出力は

カラムとインデックスは

と呼ばれる


カラムとインデックスの


オブジェクトの型(クラス)を


下記のコードを先ほどのコードに

追加して確認してみる

print('カラムのオブジェクトの型は' , type(df.columns))
print('インデックスのオブジェクトの型は' , type(df.index))

インデックスカラムは両方とも

Indexオブジェクトの一種であるが


軸の方向が異なっている


インデックス→axis=0
カラム→axis=1
行インデックスと
列インデックス

と呼ばれることもある。

参考文献

Amazon.co.jp
Bitly
タイトルとURLをコピーしました