Colab上でCSVを読み込んでSORTする pandasライブラリを使ってVBAユーザーの為のPYTHON

Colab上でCSVを読み込んでSORTするpandasを使って

Colab上でCSVを読み込んでSORTする
Colab上でCSVを読み込んでSORTする

VBAユーザーの為のPYTHON 04回

いきなりPython × Excel、CSVを取り込んでデータの抽出、ソート、絞り込み。PandasのメソッドでExcelの操作を自動化。4回

今回のいきなりpyonではCSVを操作してみたいと思います。
前回お話したように CSVを扱う時にGoogleドラブの中にアップロード しておけば、 時間が経ってもファイルがなくなることもないし安心だからです。
GoogleドライブにCSVを アップロードしてそれをコラボの方で使っ ていくというような流れになります。

【動画の内容】

【動画で学べる内容】
●1. GoogleドライブにCSVを アップロード
●2. GoogleドライブをColabにマウントする。Colaboratoryの方で、Googleドライブを操作できるようにする
●3. Googleドライブをマウントする方法。マウントする為のコード。
●4. pandasをインポートして、CSVを読み込む、pandas.read_csv(filepath)
●5. 読みこんだCSVの先頭の5行を印刷、print(df.head())
●6. 最後の5行を表示、print(df.tail()) ●7. データをフィルタリングする方法。

GoogleドライブにCSVを アップロードColabにマウント

1. GoogleドライブにCSVを アップロード
Colaboratoryの無料版ではセッションという縛りがありますので、起動から12時間で環境がリセットされてしまいます。
そこで、GoogleドライブにCSVを アップロードします。画像ではマイドライブ直下にsampledata というフォルダを作成してその中に入れました。

Colab上でCSVを読み込んでSORTする-1

2.こちらはColabの画面です。ColabでGoogleドライブを扱えるようにマウントボタンをクリックするとマウントできます。
コードでマウントする場合は、マウントするコードを記述します。

from google.colab import drive
drive.mount('/content/drive')

Colab上でCSVを読み込んでSORTする-2

3. このコードが必要だったのは、Colaboratoryのサービスができた頃からですが、現在はボタンが作成されて、コードなしで、 ドライブをマウントできるようになっています。コードを実行すると、すでにマウントされていると表示されます。

Colab上でCSVを読み込んでSORTする-3

pandasライブラリをインポート

4. 次にCSVファイルを読み込みましょう。pandasライブラリをインポートします。
そしてCSVファイルのパスを書いて、CSVファイルを読み込みます。

import pandas as pd
# CSVファイルのパス(Googleドライブ内のファイルパスを指定)
file_path = '/content/drive/My Drive/sampledata/dummy2.csv'

# CSVファイルを読み込む
df = pd.read_csv(file_path)

Colab上でCSVを読み込んでSORTする-4

Pythonの`pandas`ライブラリの機能

`pandas`はデータ分析と操作のためのライブラリです。主に以下のような機能があります:

1. DataFrameとSeries:
Pandasの中心的な概念です。DataFrameは表形式のデータを表し、SeriesはDataFrameの各列を表します。

2. データの読み込みと書き出し:
read_csv(), read_excel(), to_csv(), to_excel() などのメソッドを使用して、様々なフォーマットのデータを読み込み、書き出すことができます。

3. データの操作:
head(), tail(), describe(), groupby(), merge(), concat(), join() などのメソッドを使って、データの選択、フィルタリング、集約、結合などを行うことができます。

4. データのクリーニング:
dropna(), fillna(), drop_duplicates() などのメソッドを使って、欠損値の処理や重複の削除など、データのクリーニングを行うことができます。

5. データの可視化:
PandasはMatplotlibと統合されており、`plot()` メソッドを使ってデータの可視化を簡単に行うことができます。

Colaboratory上にCSVファイルのデータを表示する

5. サンプルのデータが2000行あるので、Colabで表示するデータを最初の5行に制限することにします。
実行すると、最初の5行が表示されます。横に長いので分割されています。

# 最初の5行を表示
print(df.head())

Colab上でCSVを読み込んでSORTする-5

6. 今度は、最終行から5行表示させてみましょう。
print関数を使うのですが、最初の P を入力した後に、ちょっと間があるとこのように インテリ センスが働いて P のつく 関数やメソッドが表示されます。

# 最後の5行を表示
print(df.tail())

Colab上でCSVを読み込んでSORTする-6

7. 実行するとこのように データの最終行から数えて 5行が表示されます。

Colab上でCSVを読み込んでSORTする-7

読み込んだデータにフィルターをかけて絞り込んだデータを抽出する

8. 読み込んだデータにフィルターをかけて 男性だけ抽出することにします。
male_dataという変数を作成し、そこに df[df['性別'] == '男']を入れます。
男性のデータだけになりましたが、それでも1,000個あります。

# 男性のデータのみをフィルタリング
male_data = df[df['性別'] == '男']

# 絞り込んだデータを表示
print(male_data)

Colab上でCSVを読み込んでSORTする-8

9. さらにそれを年齢で並び替えSORTすることにします。
sorted_male_data という変数を作成し、そこに male_data.sort_values(by='年齢')を入れます。
Print関数にて表示されたデータは、上位5件と下位5件となっています。

# 男性のデータのみをフィルタリング
male_data = df[df['性別'] == '男']

# フィルタリングしたデータを「年齢」列で昇順にソート
sorted_male_data = male_data.sort_values(by='年齢')

# ソートされたデータを表示
print(sorted_male_data)

Colab上でCSVを読み込んでSORTする9

10.今度は年齢でフィルタをかけます。
under_50_data という変数を作成して、そこに sorted_male_data[sorted_male_data['年齢'] < 50] を入れます。
Print関数にて表示するデータをunder_50_data.head() とします。

# 年齢が50未満のデータのみを抽出
under_50_data = sorted_male_data[sorted_male_data['年齢'] < 50]
print(under_50_data.head())

Colab上でCSVを読み込んでSORTする10

11.上位5件ではなく10件を表示する場合には、 print(under_50_data.head())の引数部分にて、.head()を.head(10)と書き替えることで表示件数を指定できます。

Colab上でCSVを読み込んでSORTする11

CSVから抽出したデータを別のCSVとして保存する

12.次に抽出したデータを利用するために、別のCSVとして保存しましょう。
実行すると、Colabのセッションドライブ上に作成されます。CSVデータは、ダウンロードしてください。

# 抽出したデータを新しいCSVファイルとして保存
under_50_data.to_csv('under_50_male_data.csv', index=False)

Colab上でCSVを読み込んでSORTする12

13. または、Googleドライブの元のフォルダ内に保存するのが安全です。

under_50_data.to_csv('/content/drive/My Drive/sampledata/under_50_male_data.csv', index=False)

Colab上でCSVを読み込んでSORTする13

14. GoogleColabのディレクトリに作成された CSV をダブルクリックすると中身が表示されます。

Colab上でCSVを読み込んでSORTする14

15. いきなり パイソン 4回では、 CSV ファイルを Google ドライブ上にアップロードして、その Google ドライブをColabに マウントしてColabで使えるようにしました。 さらに CSV ファイルを読み込んでデータにフィルターをかけたり、 ソートしたりして抽出し 出来上がったデータを新しい CSV ファイルとして保存するという 工程を説明しました。
記載された コード や動画を参考にして ぜひ皆さんも Google Colabを使って Python を使ってみてください。

組み込み関数一覧

 Python インタプリタには数多くの関数があります。以下はPython 組み込み関数の一覧表です。

Python組み込み関数

A~D E~I L~P R~
A E L R
abs() enumerate() len() range()
aiter() eval() list() repr()
all() exec() locals() reversed()
anext() round()
any() F M
ascii() filter() map() S
float() max() set()
B format() memoryview() setattr()
bin() frozenset() min() slice()
bool() sorted()
breakpoint() G N staticmethod()
bytearray() getattr() next() str()
bytes() globals() sum()
O super()
C H object()
callable() hasattr() oct() T
chr() hash() open() tuple()
classmethod() help() ord() type()
compile() hex()
complex() P V
I pow() vars()
D id() print()
delattr() input() property() Z
dict() int() zip()
dir() isinstance()
divmod() issubclass() __import__()
iter()