( New ) 新連載スタート!2人の会話形式でPythonを学ぶ「週末Pythonゆる講座」はこちら ▶▶

ポケモンで学ぶPython|#3 データを自由自在に取り出す

ポケモンのデータで学ぶPython

Python(パイソン)というプログラミング言語を、ポケモンという誰もが知っているコンテンツで学んでいく企画です

今回はPythonのDataFrameから自由自在にデータを取り出す方法について、一問一答形式で学んでいきます

  • 特定の列を取り出す
  • 指定した範囲のデータを取り出す
  • 条件を付けてデータを取り出す

今回利用するデータについてや、Pythonのセットアップは下記記事をご覧ください

ポケモンで学ぶデータ分析|データの中身を知ろう ポケモンで学ぶPython|#1 セットアップを始めよう
ポケモンのデータ一覧

事前準備

Pandasを事前にインポートしておきます

import pandas as pd

ポケモンのデータ(Excel:105 KB)をダウンロードし、Pythonで読み取ってください

# Pokemon_1のシートを変数(df)に格納する
df = pd.read_excel('pokemon_data.xlsx', sheet_name='Pokemon_1')

特定の列を取り出す

名前のカラム(列)だけを取り出してください

df['名前']
df.名前

カラム名を取得するには[ ]角括弧を使うか、カンマで指定します

【Python】DataFrameで特定の列を抽出する方法

名前とIDのカラム(列)を取り出してください

df[['名前','id']]

複数のカラム名を取得するには[ ]角括弧を重ねる必要があります


指定した範囲のデータを取り出す

データを上から100件取り出してください

df.head(100)
df.iloc[:100,:]

上からデータを取得するにはheadを用いるのが簡単です

また下からデータを取得するにはtailを利用しましょう

【Python】headとtail|一部のデータを抽出してみる

上から201から205までのデータを取り出してください

df.iloc[200:205,:]

ilocを利用することで、自由自在に行・列を指定してデータを取り出すことができます

,カンマを挟んで「行 , 列」と指定します

:コロンを挟んで「始め : 終わり」を指定します(:コロンだけは全てを意味します)

【Python】指定の範囲のデータを抽出する|loc iloc

上から201から205までの行で、名前とタイプ1.2を取り出してください

df.iloc[200:205,1:4]

テーブルの途中部分を抜き出しています

[ 行始め : 行終わり , 列始め : 列終わり ] と記載をします

条件を付けてデータを取り出す

タイプ1が「みず」のポケモンのみ取り出してください

df.query('タイプ1=="みず"')
df[df['タイプ1']=='みず']

条件を付けてデータを取り出すにはqueryを利用します

()括弧の中に条件式を記載することで、それに当てはまるデータのみ取得できます

また変数を重ねる方法でも条件指定ができます

【Python】query|条件を付けて行を抽出する

タイプ1が「みず」でタイプ2が「こおり」のポケモンを取り出してください

df.query('タイプ1=="みず"&タイプ2=="こおり"')

2つ以上の条件を付ける場合は、queryの条件式に&を組み合わせます


タイプ1かタイプ2が「みず」のポケモンを取り出してください

df.query('タイプ1=="みず"|タイプ2=="みず"')

高さが1(m)以下のポケモンを取り出してください

df.query('高さ<=1')

数値データに関してもqueryを利用して条件を付けてデータを抽出することができます

まとめ

  • 特定の列を取り出す
  • 指定した範囲のデータを取り出す
  • 条件を付けてデータを取り出す

今回はポケモンのデータを利用して、DataFrameからデータを取り出す方法についてご紹介してきました

Pythonで分析を実施するときの最初の工程になるので、自由に操作できるようにしてください

ポケモンで学ぶPython|#4 基本統計量とデータ型を把握する
お気に入り登録お願いします

コメントを残す

メールアドレスが公開されることはありません。