
ゆうき( @BASEBALLY15 )です^^
今回は,データフレーム内の差を求め,その結果を新たにデータフレームに追加する方法をご紹介します.
(前回に投稿した『Python 大学は今後増えていくのか?ポアソン分布で分析してみた!』内のコードの一部です.)
値の変化量をグラフにしたいときなどに使えるので,知ってて損はないと思います.
それでは,具体的にどのような結果になるのかをご説明します^^

Today’s Code
今回ご紹介するコードを記述することで,以下のようなデータフレームが完成します.
Year | Junior college | University | |
---|---|---|---|
0 | 昭和25 | 149 | 201 |
1 | 26 | 180 | 203 |
2 | 27 | 205 | 220 |
3 | 28 | 228 | 226 |
4 | 29 | 251 | 227 |
↓
Year | Junior college | University | transition college | transition University | |
---|---|---|---|---|---|
0 | 昭和25 | 149 | 201 | NaN | NaN |
1 | 26 | 180 | 203 | 31.0 | 2.0 |
2 | 27 | 205 | 220 | 25.0 | 17.0 |
3 | 28 | 228 | 226 | 23.0 | 6.0 |
4 | 29 | 251 | 227 | 23.0 | 1.0 |
“TRANSITION COLLEGE “と” TRANSITION UNIVERSITY “の項目が新たに追加され,
下から上を引いた値となっています.ちなみに,for文などは一切使っていません.
それでは,コードをご紹介します.
コード
#transition collegeという項目を追加
university_data["transition college"] = university_data["Junior college"].diff()
#transition Universityという項目を追加
university_data["transition University"] = university_data["University"].diff()
このコードについて,ご説明します.
- diff() → データフレーム内の下の値と上の値の差を求める.
- 差を求めた結果を新たに,データフレームに追加する.

以下に,このコードまでの流れを載せておきます.
全体の流れ
今回は,全体と同様に『学校基本調査』のデータを使います.
以下に,csvファイルにまとめたものを載せておきます.
ライブラリ
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
コード
#csvファイルの読み込み
university_data = pd.read_csv("nen001.csv")
#表示
university_data
#transition collegeという項目を追加
university_data["transition college"] = university_data["Junior college"].diff()
#transition Universityという項目を追加
university_data["transition University"] = university_data["University"].diff()
#表示
university_data
終わりに
今回は,データフレーム内の値の『差』を求める方法をご紹介しました.
自分自身,このコードを知るまでは,for文で差を求めようとしていました.
やはり,知っているのと知っていないのとでは,コードの見やすさに大きな差がでますね^^
それでは・・・