Python問題集を解いてみよう!!

【Python】DataFrame チートシート

DataFrameチートシート
URLをコピーする
URLをコピーしました!

本記事は、データ解析用ライブラリ Pandas の データ構造 DataFrame のチートシート的なものを目指して書きました。

本家のチートシートを参考にしています。

目次

インストールと import

インストール

Pandas は外部ライブラリなので、pip 等を使用してインストールします。

pip install pandas

Google Colaboratory にはデフォルトでインストールされていますので、インストール作業は不要です。

import

import pandasでも問題ありませんが、省略したpdという名前で import されることが多いです。

import pandas as pd

環境について

本記事のコードは原則 Google Colaboratory で確認していきます。

2022年4月の Google Colaboratory の環境は、

  • Python 3.7.13
  • pandas 1.3.5

になっています。

DataFrame の作成

列(column)の値を指定して作成

index 指定なし

df1_1 = pd.DataFrame(
    {'a' : [1, 2, 3],
     'b' : [4, 5, 6],
     'c' : [7, 8, 9]}
)

index を指定していないので、0 から連番で付与されます。

index 指定あり

df1_2 = pd.DataFrame(
    {'a' : [1, 2, 3],
     'b' : [4, 5, 6],
     'c' : [7, 8, 9]},
     index = ['あ', 'い', 'う']
)

行(row)の値を指定して作成

index、column 指定なし

df2_1 = pd.DataFrame(
    [[1, 2, 3],
     [4, 5, 6],
     [7, 8, 9]]
)

index、column、どちらも指定していないので、0 から連番で付与されます。

index、column 指定あり

df2_2 = pd.DataFrame(
    [[1, 2, 3],
     [4, 5, 6],
     [7, 8, 9]],
    index = ['あ', 'い', 'う'],
    columns = ['a', 'b', 'c']
)

Multi index の DataFrame の作成

m_index = pd.MultiIndex.from_tuples(
    [('あ', 1), ('あ', 2),('い', 1)],
    names = ['x', 'y']
)

df3 = pd.DataFrame(
    {'a' : [1, 2, 3],
     'b' : [4, 5, 6],
     'c' : [7, 8, 9]},
     index = m_index
)

CSVファイルから作成

read_csv()メソッドで作成します。

オプション指定なし

a,b,c
1,2,3
4,5,6
7,8,9

上記のようなCSVファイル「data.csv」を読み込みます。

df4_1 = pd.read_csv('/content/data.csv')
df4_1

オプションを何も指定しない場合、1行目が columns(カラム名、列名)になり、index は連番になります。

index を指定

,a,b,c
あ,1,2,3
い,4,5,6
う,7,8,9

上記のようなCSVファイル「data2.csv」で、「あ、い、う」を index にしたい場合、引数index_colで指定します。

df4_2 = pd.read_csv('/content/data2.csv', index_col=0)
df4_2

indec_colのデフォルト値はNoneです。

DataFrameを編集する

loc

locは index 名、column 名を指定して、値を代入したり、値を取り出す時に使用します。

いくつか具体的な使用例を挙げます。

編集前のDataFrame

df5_1 = pd.DataFrame(
    {'a' : [1, 2, 3, 4, 5],
     'b' : [6, 7, 8, 9, 10],
     'c' : [11, 12, 13, 14, 15],
     'd' : [16, 17, 18, 19, 20],
     'e' : [21, 22, 23, 24, 25]},
     index = ['あ', 'い', 'う', 'え', 'お']
)
df5_1

index名とcolumn名を指定して値を変更

index が「い」、column が「d」の値を「100」に変更します。

df5_1.loc['い', 'd'] = 100
df5_1

column名を複数指定して値を変更

index が「う」、column が「a、c、e」の値を「200」に変更します。

複数指定したい場合はリスト形式で指定します。

df5_1.loc['う', ['a', 'c', 'e']] = 200
df5_1

index 名もリストで複数指定できます。

index名の範囲を指定して値を変更

index 名が「い〜え」、column 名が「b」の値を「300」に変更します。

範囲で指定したい場合はスライスで指定します。

df5_1.loc['い':'え', 'b'] = 300
df5_1

locでスライス指定をすると、end で指定した「え」も含まれるので要注意です。

column 名もスライス指定できます。

順次追記します。

Google Colaboratory

本記事に掲載しているコードは Google Colaboratory で動作を確認しています。

下記リンクからアクセスして、ご自身の Google ドライブにコピーしていただければ、すぐに実行できます。

環境構築の不要な Google が提供している Webサービスなので、Python を学習中の方にはオススメです。

Google Colaboratory の方も順次追加します

おわりに

DataFrame の操作は定期的に使用していないとなかなか覚えられないので、基本的な操作はここを見れば解決するようなものを目指して、今後も追記していきます。

以上です。

スポンサーリンク

DataFrameチートシート

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次
目次
閉じる