はじめに
この実験では、Python の Pandas ライブラリのDataFrame.align()関数を調べます。align()関数を使用すると、outer、inner、left、right などのさまざまな結合方法を使って、2 つの DataFrame をその軸に沿って整列させることができます。これは、2 つの DataFrame 間または DataFrame と Series 間でデータを同期させたい場合に便利です。
VM のヒント
VM の起動が完了したら、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebook を使って練習しましょう。
時々、Jupyter Notebook が読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題に遭遇した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
必要なライブラリをインポートして DataFrame を作成する
まず、pandas ライブラリをインポートして、異なるインデックスと列を持つ 2 つの DataFrame を作成しましょう。最初の DataFrame であるdf1は、'Name'、'Roll No'、'Subject'、'Marks'の列を持ち、2 番目の DataFrame であるdf2は、'Name'、'Roll No'、'Marks'の列を持ちます。
import pandas as pd
df1 = pd.DataFrame([['Abhishek',100,'Science',90], ['Anurag',101,'Science',85]], columns=['Name', 'Roll No', 'Subject', 'Marks'], index=[1,2])
df2 = pd.DataFrame([['Chetan',103,75], ['Divya',104,80], ['Diya',105,92]], columns=['Name', 'Roll No', 'Marks'], index=[2,3,4])
列に対する「left」結合を使って DataFrame を整列させる
次に、列に対する「left」結合を使って 2 つの DataFrame を整列させましょう。align()関数を使って、結合方法を「left」、軸を 1 として指定します。
a1, a2 = df1.align(df2, join='left', axis=1)
print(a1)
print(a2)
列に対する「right」結合を使って DataFrame を整列させる
同様に、列に対する「right」結合を使って DataFrame を整列させることができます。align()関数を使って、結合方法を「right」、軸を 1 として指定します。
a1, a2 = df1.align(df2, join='right', axis=1)
print(a1)
print(a2)
列に対する「outer」結合を使って DataFrame を整列させる
列に対する「outer」結合を使って DataFrame を整列させることもできます。align()関数を使って、結合方法を「outer」、軸を 1 として指定します。
a1, a2 = df1.align(df2, join='outer', axis=1)
print(a1)
print(a2)
列に対する「inner」結合を使って DataFrame を整列させる
最後に、列に対する「inner」結合を使って DataFrame を整列させることができます。align()関数を使って、結合方法を「inner」、軸を 1 として指定します。
a1, a2 = df1.align(df2, join='inner', axis=1)
print(a1)
print(a2)
まとめ
この実験では、Pandas ライブラリのDataFrame.align()関数の使い方を学びました。2 つの DataFrame を列またはインデックスで整列させるために、outer、inner、left、right などのさまざまな結合方法を検討しました。この関数は、異なるデータソース間でデータを同期させたり、整列したデータに対して操作を行いたいときに便利です。