pythonのライブラリpandasを使ってみたい、ということで導入してみました。本記事では、簡単な使い方をまとめていきたいと思います。

環境

  • Django: 3.0
  • Python: 3.6
  • django-pandas: 0.6.1

read_frame()

read_frameを使うことでDBから取得したデータをDataFrameという形式に変換することができます。

from django_pandas.io import read_frame # DBからデータを取得 data_from_db = Sample.objects.all() # data_from_dbのカラム名を指定して必要なカラムだけをDataFrame形式で取り出す df = read_frame(data_from_db, fieldnames=['nearness', 'rent_fee', 'direction', 'age']) print(df)
Code language: PHP (php)

すると下記のように出力されます。

django_1 | nearness rent_fee direction age django_1 | 0 B 68000 西 12 django_1 | 1 B 68000 南 12 django_1 | 2 B 69000 北西 14 django_1 | 3 B 70000 南 14 django_1 | 4 B 72000 南 9 django_1 | .. ... ... ... ... django_1 | 135 B 145000 南 8 django_1 | 136 B 145000 南東 28 django_1 | 137 A 148000 南東 13 django_1 | 138 A 148000 南 13 django_1 | 139 B 150000 南東 5

ではこのデータを分析してみましょう

describe()

print(df.describe()) django_1 | rent_fee age django_1 | count 140.000000 140.000000 django_1 | mean 101612.857143 9.557143 django_1 | std 19278.078066 5.550645 django_1 | min 68000.000000 0.000000 django_1 | 25% 86750.000000 6.000000 django_1 | 50% 98750.000000 9.000000 django_1 | 75% 113250.000000 13.000000 django_1 | max 150000.000000 28.000000
Code language: PHP (php)

describeメソッドでは8つの項目が出力されます。1つ1つ見てみましょう。

  • count: データの数
  • mean: 各項目の平均値
  • std: 各項目の標準偏差
  • min: 各項目の最低値
  • 25%: パーセンタイルの25%位置のデータ
  • 50%: パーセンタイルの50%位置のデータ
  • 75%: パーセンタイルの75%位置のデータ
  • max: 各項目の最大値

メソッド1つでこんな分析ができるのは便利ですね。

さらに、出力データを見てみると、数値データのみが分析対象になっていますね。自動的に文字列は分析対象から外れるようになっているようです。

以上、最後までお読みいただきありがとうございました。

By user