LoginSignup
10
18

More than 5 years have passed since last update.

PythonでExcel(その2)

Last updated at Posted at 2017-09-28

1年程前に書いたPythonでExcelを、pandasを使って書き換えてみます。

pandasの準備

Anacondaで環境を構築している場合は、pandasはインストール済です。
そうでない場合も、PyPIで簡単にインストールできます。

Excelのシートからデータを読み込む

このあたりの前フリについては、一年前に書いたとおりです。

単身赴任で京都に住んでた頃に「京都は暑いでしょう」ってよく言われていたので、検証のために2016年7月の東京と京都の日毎の最高気温のデータを気象庁からダウンロードしてExcelにまとめてみた。

20160831001.jpg

これ、見るだけで京都の方が暑いな。Pythonで解析するまでもないわ。でも、気を取り直して、両都市の平均気温を計算してみる。

一年前の記事では、numpyのarrayにExcelファイルの中身を読み込んだのですが、今回はpandasで読み込み、DataFrameに格納します。

read_excel2.py
import pandas as pd
import os.path

xlfile = "temperature.xlsx"
if os.path.exists(xlfile):
    xls = pd.ExcelFile(xlfile)
    sheet1 = xls.sheet_names(0)
    df = pd.DataFrame(xls.parse(sheet1))

    print(df.mean())

これだけで、temperature.xlsxに記載されているTokyo列とKyoto列の平均値を表示することができます。

% python read_excel2.py
Tokyo    29.732258
Kyoto    32.951613
dtype: float64

グラフ描画

一年前の記事同様に、グラフを書いてみることにします。

read_excel2.py
import pandas as pd
import os.path

xlfile = "temperature.xlsx"
if os.path.exists(xlfile):
    xls = pd.ExcelFile(xlfile)
    sheet1 = xls.sheet_names(0)
    df = pd.DataFrame(xls.parse(sheet1))

    print(df.mean())

    df.plot()

20170928_001.png

一年前の記事では悩みのタネだった、日付型のX軸についても分かりやすく表示することができました。

また、df.boxplot() あるいはdf.plot(kind='box') すれば箱ひげ図を、df.hist() あるいはdf.plot(kind='hist') するとヒストグラムを描くことができました。

20170928_004.png

以上のように、当初の目論見通り、東京と京都の夏の気温の違いについて、可視化することができました。


本日のまとめ

  • Pandasスゴい
  • DataFameスゴい

本日のコード

10
18
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
10
18