データフレーム 列の追加
データフレームに 列を追加 する場合は、次のように指定します。
データフレーム[‘列名’] = [データ, データ, ・・・]
辞書型データに 新しいキーと値 を設定するときと同じような感じになります。
以下のサンプルでは、‘D’ という列とデータを追加しています。
[Google Colaboratory]
1 | import pandas as pd |
[実行結果]
データフレームに 列とデータを追加 することができました。
データフレームに 列を追加 する場合は、次のように指定します。
データフレーム[‘列名’] = [データ, データ, ・・・]
辞書型データに 新しいキーと値 を設定するときと同じような感じになります。
以下のサンプルでは、‘D’ という列とデータを追加しています。
[Google Colaboratory]
1 | import pandas as pd |
[実行結果]
データフレームに 列とデータを追加 することができました。
データフレームに行を追加する場合、追加する行をデータフレームとして作成し、append メソッドで追加しまします。
追加するデータフレームは列名を同じにしておく必要があります。
列名が異なると新規の列として追加されるので注意が必要です。
[Google Colaboratory]
1 | import pandas as pd |
[実行結果]
新規の行が追加されましたが、追加した行のインデックスが 0 から開始されています。
元の行のインデックスに続くようにするためには、appendメソッドの引数に ignore_index=True を指定する必要があります。
[Google Colaboratory]
1 | df1.append(df2, ignore_index=True) # 行インデックスを連続させる |
[実行結果]
追加された行のインデックスが、元のデータから連続になっていることを確認できます。
indexオプションで行名を設定している場合は、追加する行データにも行名を付けてから追加します。
[Google Colaboratory]
1 | import pandas as pd |
[実行結果]
設定した行名にて、行が追加されていることを確認できます。
データフレーム から特定の行を取得するためには
データフレーム [ 開始行インデックス : 終了行の1つあとのインデックス ]
のように、開始位置と終了位置を示すインデックスを指定します。
インデックスは 0 からカウントされます。
注意する点としては、終了位置を示すインデックスで、指定したインデックスよりも1つ手前までが抽出されます。
まずは、2行目から4行目までを抽出してみます。
[Google Colaboratory]
1 | import pandas as pd |
[実行結果]
次に、先頭の行から2行目までを抽出します。
[Google Colaboratory]
1 | df[: 2] # 先頭の行から2行目までを抽出 |
[実行結果]
また、行名 を指定して行を抽出することもできます。
[Google Colaboratory]
1 | # 行名で抽出する |
[実行結果]
データフレーム の列を取得する場合は、データフレーム[‘列名’] と指定します。
[Google Colaboratory]
1 | import pandas as pd |
[実行結果]
複数の列 を取得する場合は、データフレーム[ ‘列名’, ‘列名’, ・・・・] というようにブラケットの中身を列名のリストで指定します。
[Google Colaboratory]
1 | df[['A', 'C']] # A列、C列を取得 |
[実行結果]
指定した 列データ を取得することができました。
Pandas は、NumPy を拡張してさらに直感的な操作でデータを扱えるようにしたライブラリです。
Pandas には表形式でデータを管理できる データフレーム の機能が備わっています。
データフレーム は行列と同じように縦・横にデータが並ぶ構造をしていますが、数値だけではなく文字列などの任意のデータが扱えます。
また、行列のように 数値の並び を表すのではなく、行と列で構成されたデータ構造を表します。
データフレームは、DataFrameメソッド で作成します。
列データを辞書で設定し、複数の列で構成されるデータフレームを作成します。
[Google Colaboratory]
1 | # 3列×5行のデータフレームを作成する |
データフレーム のデータは、Pythonの 辞書 を使って設定します。
辞書データはそのまま各列のデータになります。
[実行結果]
データフレーム を、Google Colaboratory で表示すると自動的に表形式で表示されます。
逆行列 とは、ある正方行列 A、X の積が単位行列となるときの 正方行列 X のことです
(単位行列 とは、行列の対角の要素が全て1、それ以外の成分が0 の行列です)
NumPy の transposeメソッド を使うと、逆行列 を求めることができます。
[Google Colaboratory]
1 | import numpy as np |
[実行結果]
逆行列 を求めることができました。
元の行列と 逆行列 を掛け合わせると、単位行列 となることを確認します。
1 | np.dot(a, inv) |
[実行結果]
誤差はあるようですが、ほぼ 単位行列 となっていることが確認できました。
行列の行と列を入れ替えたものを 転置行列 と言います。
NumPy の transposeメソッド を使うと、転置行列 を求めることができます。
[Google Colaboratory]
1 | import numpy as np |
[実行結果]
転置行列 を求めることができました。
NumPy の dotメソッド を使うと、行列同士の積を算出することができます。
[Google Colaboratory]
1 | import numpy as np |
行列同士の積では、左側の行列は行に分け、右側の行列は列に分けて、行と列を組み合わせて掛け算します。
[実行結果]
行列同士の積を算出することができました。
NumPyでは、ブロードキャスト の要件を満たす場合(次元数が同じ場合)、 行列の要素同士の積(アダマール積)を算出することができます。
[Google Colaboratory]
1 | import numpy as np |
[実行結果]
行列のアダマール積 を算出することができました。
NumPy で、行列のすべての要素に対して演算を行う仕組みを ブロードキャスト と言います。
行列に対してスカラー演算を行うと、ブロードキャスト の仕組みによって全ての要素に同じ演算が適用されます。
この ブロードキャスト の仕組みを使って、行列の要素同士の足し算・引き算を行うことができます。
まず2×2の行列を2つ定義して、足し算を行います。
[Google Colaboratory]
1 | import numpy as np |
[実行結果]
次に同じ行列を使って、引き算を行います。
[Google Colaboratory]
1 | a - b |
[実行結果]
行列の要素同士 で 足し算 と 引き算 を行うことができました。