Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python Pandas入門:DataFrameオブジェクトが等しいかどうかを確認する方法

PythonのPandasで2つのDataFrame(データフレーム)オブジェクトが等しいかどうかを確認するには、equals()メソッドを使用します。このメソッドは、2つのDataFrameが同じ形状・要素・値を持っている場合にTrueを返し、そうでなければFalseを返します。

DataFrame1の作成

まず、2つの列(Car、Reg_Price)を持つDataFrame1を作成しましょう。

dataFrame1 = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
      "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
   }
)

DataFrame2の作成

次に、同じ構造とデータを持つDataFrame2を作成します。

dataFrame2 = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
      "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
   }
)

equals()メソッドで等価性を確認する

2つのDataFrameオブジェクトが等しいかどうかを確認するには、以下のようにequals()メソッドを呼び出します。

dataFrame1.equals(dataFrame2)

完全なサンプルコード

以下に実行可能な完全なコード例を示します。

import pandas as pd

# DataFrame1を作成
dataFrame1 = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
      "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
   }
)

print("DataFrame1 ...\n", dataFrame1)

# DataFrame2を作成
dataFrame2 = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Audi', 'Mustang', 'Bentley', 'Jaguar'],
      "Reg_Price": [7000, 1500, 5000, 8000, 9000, 6000]
   }
)

print("\nDataFrame2 ...\n", dataFrame2)

# 等価性を確認
print("\n両方のDataFrameオブジェクトは等しいか? ", dataFrame1.equals(dataFrame2))

実行結果

上記のコードを実行すると、以下のような出力が得られます。

DataFrame1 ...
        Car  Reg_Price
0      BMW       7000
1    Lexus       1500
2     Audi       5000
3  Mustang       8000
4  Bentley       9000
5   Jaguar       6000

DataFrame2 ...
        Car  Reg_Price
0      BMW       7000
1    Lexus       1500
2     Audi       5000
3  Mustang       8000
4  Bentley       9000
5   Jaguar       6000

両方のDataFrameオブジェクトは等しいか? True

補足:equals()メソッドのポイント

  • equals()メソッドは、インデックスや列ラベルも含めて比較します。そのため、同じデータでもインデックスが異なればFalseを返します。
  • NaN(欠損値)同士は等しいものとして扱われます。これは通常の比較演算子(==)とは異なる挙動です。
  • 単純な要素ごとの比較には==演算子やcompare()メソッドも利用できますが、DataFrame全体の等価性チェックにはequals()が最適です。
  1. Pythonでバイナリ文字列内のすべての「1」が等間隔に並んでいるか判定する方法

    バイナリ文字列 s が与えられたとき、文字列中のすべての「1」が等間隔(等距離)に配置されているかどうかを判定する問題です。言い換えると、隣接する任意の2つの「1」の間の距離がすべて同じである必要があります。なお、文字列には少なくとも2つの「1」が含まれているものとします。たとえば、入力が s = 100001000010000 の場合、「1」同士の間隔はいずれも4で一定であるため、出力は True になります。解法のアプローチこの問題は、以下の手順で解くことができます。「1」が出現する位置(インデックス)を格納するための新しいリスト index を用意します。i を 0 から文字列 s の長

  2. 【Python入門】リストの要素が回文かどうかを判定する方法

    Pythonでは、数値や文字列のリストが回文(前から読んでも後ろから読んでも同じ並び)になっているかどうかを簡単に判定できます。 例えば、次のようなリストが与えられたとします。 nums = [10, 12, 15, 12, 10] この場合、前から読んでも後ろから読んでも 10, 12, 15, 12, 10 と同じ順序になるため、出力は True となります。 解決の手順 リストが回文かどうかを確認するには、以下の手順に従います。 変数 n にリストのサイズ(要素数)を代入する フラグ用の変数 is_palindrome を初期化する インデックス i を 0 で初期化する i が n