LoginSignup
1
4

More than 3 years have passed since last update.

Pandasの基本的な使い方 まとめ

Last updated at Posted at 2020-04-29

Pandasの使い方の備忘録として、
基本的な操作方法をまとめました。

0.前提

import pandas as pd

1.データを定義する

pd.DataFrame()

  • データフレームを定義できるメソッド
  • index引数を指定することが出来る。指定しなかった場合は自動で0から割り振られる
df = pd.DataFrame({
'Country': ['JPN', 'USA', 'CHI', 'GER', 'AUS'],
'Greeting':['こんにちは', 'Hello', 'Ni Hao', 'Guten Tag', 'GDay'],
'Capial':['Tokyo','Washington', 'Beijing', 'Berlin', 'Canberra']},
index=['a','b','c','d','e']
)

df

"""
以下のように出力される
    Country Greeting    Capial
a   JPN こんにちは Tokyo
b   USA Hello   Washington
c   CHI Ni Hao  Beijing
d   GER Guten Tag   Berlin
e   AUS GDay    Canberra
"""

2.データフレームの操作方法

a.データの存在確認

df.isin()メソッド

  • 配列(['hage', 'hige','huge'...])を引数にとり、その値の有無を真偽値で返す
df.isin(['JPN', 'Berlin'])

"""
Country Greeting    Capial
a   True    False   False
b   False   False   False
c   False   False   False
d   False   False   True
e   False   False   False

"""

df.isnull()メソッド

  • 欠損値(NaN)の有無を確かめ、真偽値を返す(TrueがNaNの意)。

b.データの呼び出し

df.loc[]

  • 行・列をラベル(名称)で指定する
  • 添字([])には行と列それぞれを指定する必要がある。:で全箇所という意味を表す
df.loc[:,['Country', 'Greeting']] 
# 意:'Country'列、'Greeting'列を取得してきてね。行は全部

df.loc[['a','c'],['Country']] # ->
# 意:'Country'列を取得してきてね。行はa行とc行のみ

df.iloc[]

  • 行・列を数字の位置(integer location)で指定する
  • ちなみにiはindexでもindiceでもiteratorでもなく、integer location('整数位置')のiです1
df.iloc[:,1:3]
# 意:1列目から3列目まで(つまり、1行目と2列目)を出力してね、行は全部

df.iloc[2:5,1:3]
# 意:1列目から3列目まで(同)を出力してね、行は2行目から5行まで(つまり2,3,4行目)

"""
    Greeting    Capial
c   Ni Hao  Beijing
d   Guten Tag   Berlin
e   GDay    Canberra
"""

df.ix[]

  • ラベル(loc)、整数番(iloc)どちらを呼び出しても機能する。Pandasのバージョン0.20.0より非推奨(depricated)2
  • そんなのがあったんだな、と知っておく程度で良いと思われる。

編集後記

  • 列の削除の仕方やクエリライクな活用などは近日中に加筆します
  • NumpyやMatplotlib等と並び最も基本的なライブラリの1つであるからこそ、操作方法で躓くことのないように復習が欠かせないライブラリだなあと思いました。同じような方のお役に立てば幸いです。

参考にさせていただいた記事

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4