[解決済み] Python Pandas - 2つのデータフレーム間の差分を見つける
2022-04-20 05:31:07
質問
2つのデータフレームdf1とdf2があり、df2はdf1のサブセットです。 2つのデータフレームの差である新しいデータフレーム(df3)を得るにはどうしたらよいでしょうか。
言い換えれば、df1にある行/列のうち、df2にないものをすべて含むデータフレームということでしょうか。
どのように解決するのか?
を使用することにより
drop_duplicates
pd.concat([df1,df2]).drop_duplicates(keep=False)
Update :
The above method only works for those data frames that don't already have duplicates themselves. For example:
df1=pd.DataFrame({'A':[1,2,3,3],'B':[2,3,4,4]})
df2=pd.DataFrame({'A':[1],'B':[2]})
以下のように出力されますが、これは間違いです。
間違った出力:
pd.concat([df1, df2]).drop_duplicates(keep=False)
Out[655]:
A B
1 2 3
正しい出力
Out[656]:
A B
1 2 3
2 3 4
3 3 4
それを実現するにはどうしたらいいのか。
方法1:使用する
isin
をもって
tuple
df1[~df1.apply(tuple,1).isin(df2.apply(tuple,1))]
Out[657]:
A B
1 2 3
2 3 4
3 3 4
方法2.
merge
をもって
indicator
df1.merge(df2,indicator = True, how='left').loc[lambda x : x['_merge']!='both']
Out[421]:
A B _merge
1 2 3 left_only
2 3 4 left_only
3 3 4 left_only
関連
-
pythonを使ったオフィス自動化コード例
-
[解決済み] staticmethodとclassmethodの違いについて
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 既存のDataFrameに新しい列を追加する方法は?
-
[解決済み] pandas GroupByを使ってグループごとの統計情報(カウント、平均値など)を取得する?
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み] [Solved] data.frameで全てまたは一部のNA(欠損値)を含む行を削除する。
-
[解決済み】pandasが他のデータフレームに存在しない行を取得する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonによるjieba分割ライブラリ
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
Python 入出力と高次代入の基礎知識
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】ImportError: sklearn.cross_validation という名前のモジュールがない。
-
[解決済み] データ型が理解できない
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】django インポートエラー - core.managementという名前のモジュールがない
-
[解決済み】再現性の高いpandasのサンプルを作るには?