Pandas についてシリーズで記事を書いています。(Pandas の基礎的な部分から書いていますので分からなくなった時は他のPandas関連の記事も参考にどうぞ)
今回の記事は第7回目の記事になります。
今回は、data.worldさんのサイトからWorld University Rankings 2019-20 という2019年から2020年の世界の大学ランキングについてのデータを使わせていただきます。
この記事を読めば
- condaでxlrd とopenpyxlをインストールする方法
- EXCELファイルを読み込む方法
- Seriesにpythonの機能を使う時の注意点
などが分かります
ではさっそく始めていきますね。
#EXCELファイルを読み込む
今回読み込むデータは下記のexcel のデータになります
(※前回までは、CSVのデータを使っていました。)
Pandas でEXCELファイルを読み込むには『xlrd』と『openpyxl』というライブラリーが必要であり、今回新たにインストールします
(Anaconda の使い方やconda でのライブラリーのインストール方法が分からない方はこちらの記事を参考にしてください。)
##xlrdとopenpyxlをインストールする
xlrd とopenpyxlをインストールする前に、どの仮想環境にインストールするか決めてくださいね。
そしてまず、その仮想環境をactivate しましょう
(仮想環境って何?っていう人は こちらの記事 の『conda でenvironment を作る』という項目に書いています)
上記のスクショのように、あなたが今回ライブラリーをインストールしたい仮想環境が表示されていたらOKです。
確認後xlrd と openpyxl をインストールしましょう
conda install xlrd openpyxl
とAnaconda Prompt に打ち込んでエンターキーを押してください。
するとインストールが始まり、最後に
Proceed([y]/n)?
と聞いてきますから 『y』をキーで打ち込みしょう
Anaconda Prompt に done と出れば無事にインストールができています。
##EXCELファイルを読み込む
jupyter notebook でEXCELのデータを読み込みます。
import pandas as pd
pd.read
とread まで打ち込んだ時点で
Shift + Tab
を押すと選択肢が表示されます
今回はEXCELファイルを読み込みたいので『read_excel』を選択しましょう
CSVファイルを読み込み、DataFrame をSeries に変えた時と同じ要領で、EXCELのデータからSeriesのオブジェクトを作りましょう
※CSVファイルの読み込み方などが分からない方はこちらの記事を参考にどうぞ
下記のようにSeries のオブジェクトを作ることができました。
#Python にビルトインされている機能を使う
EXCELデータからPandasのSeries オブジェクトを作った後は簡単でして、Python 自体の機能もSeries オブジェクトに使うことができます
例えば、トップ15位までの大学名を出したいのならpython でrangeを指定するときと同じやり方をします
(ちなみに今回作ったSeries は university_rank という変数に代入しています)
university_rank[:15]
でトップ15校の世界の大学名を表示できました。
また今回のランキングに載っている大学名を下から順に15校並べたい時も
university_rank[-1:-15:-1]
とすれば一番下に書かれた大学名から順番に表示されます
##Python のA in [リスト]をSeries でも使える?
Python でリスト型データの中に、ある特定の文字列や数値が入っているかどうかを調べるのに
A in [リスト]
を使いますよね
A がリストの中にあれば『True』を返してくれますし、無ければ『False』になります
例えば下記のスクショですと3はリストの中にあるのでTrue を返しています
では同じように、Series に対しても使えるでしょうか?
今回使っているデータの中に『"University of Tokyo"』が入っているのかな?と調べたい時。
結果は下のスクショのようになりました。
これは、(in Series名)にすると、その『index』をコンピューターが見て、その中に"University of Tokyo" があるかどうかを調べるからです。
そうではなく、あくまでもSeriesのvalueにあたる部分を調べたいのでSeriesの後ろに .values を付ける必要があります
そして"University of Tokyo" は13位に表示されていますので、True を返してくれます。
#まとめ
今回の記事はこれくらいで終わりにします。<(_ _)>
Pandasシリーズの記事も7記事目になり、だんだんPandasでできることも多くなってきました。
また引き続き、紹介していきますね。
よろしくお願いしますっ!