今回は、DataFrameの基本操作について紹介します。
DataFrameの基本操作
DataFrameは、Pandasの関数を使用し、データを抽出したり、フィルタリングしたりできます。
データの統計量(平均値など)も簡単に取得できます。
これから紹介するDataFrameの基本操作は、データ分析の第一歩です。
今回は以下のデータを使って、それぞれの基本操作を説明していきます!
データの情報を取得
先頭の行を取得: head()
head()
関数で、データの先頭から引数で指定した行だけ取得できます。
引数に何も指定しない場合は、先頭からあ5行目までを取得します。
df.head()
実行結果
先頭から5行目までを取得できました。
続いて、3行目までを取得してみます。
df.head(3)
実行結果
先頭から3行目までを取得できました!
末尾の行を取得: tail()
tail()
関数で、末尾から引数で指定した行を取得することもできます。
使い方は先程紹介した、head()
関数と同様です。
df.tail()
実行結果
末尾から5行目までを取得できました。
続いて、末尾から3行目までを取得してみます。
df.tail(3)
実行結果
末尾から3行目までを取得できました!
統計量を取得: describe()
統計量を簡単に取得することもできます。
統計量は、データ傾向の把握、外れ値の検出に役立ちます。
df.describe()
実行結果
簡単に統計量を取得できました!
ここで確認してほしいのは、minが0でないことです。
Age
(年齢)が0であることはありえますが、Height
(身長)が0はありえません。
身長が0cmの人はいませんからね!
ありえない数値が入っていた場合は、欠損値(Nan)が考えられるので、
データを削除するといいです。
データを抽出
列を抽出
特定の列を抽出するには、columnのラベルを指定します。
以下の方法で、Age
の列を抽出します。
df['Age']
実行結果
[ ]
内に抽出したいcolumnnのラベル名を指定します。
行を抽出: iloc
特定の行を抽出するには、iloc[]
を使用します。
iloc[]
の[]
内は、indexを指定します。
df.iloc[3]
実行結果
Name David
Age 29
From Houston
Height (cm) 180
Weight (kg) 75
Name: 3, dtype: object
3行目のデータを取得できました!
データのフィルタリング
DataFrameは、データのフィルタリングも簡単にできます。
実際のコードで説明します。
df[df['Age'] < 30]
実行結果
Age
が30未満のひとのデータを抽出しました。
詳しく解説すると、
まず以下の結果の通り、df[’Age’] < 30
でAge
が30未満のデータがTrueで返ります。
上記の結果をdf[]
の[]
内に入れ、True の値のみを抽出しています。
まとめ
PandasのDataFrameの基本操作を紹介しました!
データ分析するときは、必須の操作です。
いま全部覚えようとはせず、必要なときに確認してもらえればと思います。
参考
おすすめ教材
米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座