Python初心者でも直感的にできるデータの抽出方法

スポンサーリンク
Python
初心者に人気のプログラミング言語Pythonは独学可能か?
Pythonは非常に人気のあるプログラミング言語で、まったくの初心者でも独学が可能と言われています。 Pythonはさまざまな目的に使える、汎用性のあるプログラミング言語です。 プログラミングは「独学が難しい」と言われていま...

データ分析するときは、自分が持っているデータ全部を使うことはありません。すべてのデータから、分析に必要なデータを取り出す作業があります。この作業は「データの抽出」といいます。何をどう分析したいかによって、データの抽出方法がさまざまですが、Pythonを使った一般的な方法を紹介します。

まったくの初心者でも、自分で決めたルールに従って、データを抽出できるようになります。

Anacondaをインストールすると自動的に入っている、scikit-learnにあるデータを使ってコードを書いていきましょう。

必要なライブラリをインポート

import pandas as pd
from sklearn.datasets import load_boston

scikit-learnにあるボストンの住宅価格に関するデータを使用します。

データの形を整える

データは分析しやすいように、行列に整えられたデータフレームという形にします。

boston=load_boston()

df_boston = pd.DataFrame(boston.data, columns=boston.feature_names)
df_boston['PRICE']=boston.target
df_boston

出力:

1行目:scikit-learnのボストンのデータを「boston」に入れる。
2行目:1行目で作った「boston」のデータを「df_boston」に入れる。その時、各データの変数をboston.feature_namesから指定する。
bostonのデータにboston.feature_namesがあらかじめ指定されているので、それをそのまま指定しています。
3行目:2行目で作った「df_boston」に新たな変数として「PRICE」を作り、そこにboston.targetを入れる。bostonのデータにboston.targetがあります。
ちなみに、featureは説明変数または、特徴量のことです。targetは目的変数または、ターゲットのことです。

データの抽出方法

データは必要なデータを抽出する方法と、必要でないデータを削除する方法があります。
また、いまあるデータから数値を指定して、条件に従ってデータを抽出する方法があります。

必要なデータを抽出する方法

データの中から、「PTRATIO」、「B」、「LSTAT」、「PRICE」を抽出しましょう。
ちなみに、この変数には意味はありません。

df_boston_price=df_boston[['PTRATIO','B','LSTAT','PRICE']]
df_boston_price

出力:

1行目:「df_boston」のデータから、’PTRATIO’,’B’,’LSTAT’,’PRICE’の変数を取り出す。そのデータを「df_boston_price」に入れます。
抽出したい変数が少なければ、抽出したい変数を指定します。

必要でないデータを削除する方法

抽出したい変数が多ければ、抽出したい変数を指定します。

df_boston_price_1=df_boston.drop(['CRIM','ZN','INDUS','CHAS','NOX','RM','AGE','DIS','RAD','TAX'],axis=1)  # axis=1は列の削除、axis=0(デフォルト)は行の削除
df_boston_price_1

このコードでも、上と同じデータが抽出できます。
1行目:「df_boston」から削除する(drop)、そして変数を指定しています。

条件に従ってデータを抽出する方法

目的変数である「PRICE」が50未満のみを抽出してみましょう。

df_boston_price[df_boston_price['PRICE']<50]

出力:

1行目:「df_boston_price」のデータの「PRICE」を50未満(<50)の条件に合う、「df_boston_price」を抽出するようにしています。df_boston_priceが2つあるので、少しややこしいですあ、1つは条件指定に必要で、もう1つはどのデータかを指定しています。

df_boston_price.query('PRICE<50')

このコードでも同じ結果が出ます。
こちらのほうが、直感的かもしれません。
’ ’内に条件を指定しています。

さらに、どこからどこまでかも指定できます。

df_boston_price.query('30<PRICE<50')

出力:

「PRICE」が30より上、50未満を指定しています。
データの前処理がデータサイエンスの80%との言われています。データを手足のように自由自在にできるようになることは、データサイエンティストに必須の技術です。

【初心者必見】プログラミング言語Pythonでできること5選
プログラミング言語の一つであるPythonはコードが理解しやすく、いろんな用途に使える汎用性があります。ですので、全くの初心者にもおすすめしているサイトが多いです。 ここで改めて、Pythonを勉強したい人やデータ分析、AI開発をして...
【超基礎編】データをpythonのpanndasで分析する(データの前処理)
前回はpandasでcvsファイルを読み込みました。 そのデータを使って、簡単なデータの前処理を行ってきましょう。 前処理とは、データ分析するためにデータの形や数値を整えることです。 具体的なコ...
【超基礎編】データをpythonのpanndasで分析する(データの前処理_2)
データの扱い方(前処理)はデータサイエンスの仕事の80%といわれています。つまり、データを自由自在に扱うことが、データ分析、データサイエンティストに必須のスキルです。scikit-learnにあるデータセットを使った、pandasでのデータの整理を解説していきます。

 

コメント

タイトルとURLをコピーしました