これを言うことから始めてみましょう。これが最善の方法であるかどうかは不明ですが、私の左のデータフレームと1つのインデックス値を含むパンダのデータフレームを作成するコードを書きました特定の空間条件が一致する私の正しいデータフレームから。これは基本的な空間結合ですが、いくつかの追加属性があります。インデックス値は正しいです。3パンダのデータフレームへの結合
私の問題は、この3番目のデータフレームと一緒に左右のデータフレームをどのように結合できますか?
私は、次の機能をサポートする必要があります。
- 私は(DF1とDF2の両方から)すべてを維持したい場合は、私はそれをどのように行うのですか?
- デフォルトでは、すべてのデータフレーム値を保持したいので、私の結合データフレームの値は次のようになります。
[1, None]
これは問題になりますか?
例:
join_df = pd.DataFrame(data=[[0, 2], [1, 3], [2, None]], columns=['left_idx', 'right_idx'])
df1 = pd.DataFrame([["a", {5:5}], ["b", {4:5}], ["c", {12:5}]], columns=['A1', 'A2'])
df2 = pd.DataFrame([["b", {'a':5}], ["bbb", {'b':5}], ["ccc", {'c':5}]], columns=['B1', 'B2'])
そこでjoin_dfは次のように動作:
- join_dfのデータは、左データフレーム(DF1)およびDF2から参加する行のインデックスであります
- 結合は、多対多、1:m、または多対1のいずれでもかまいません。
目的は、df1のすべての行がdf2のすべての行と一致することです。オプションで、(ボーナス質問)、df1〜df2に一致がなければ、df1の記録を保持できますか? df2と同じですか?
あなたは
出力データフレームをどのように見たいか考えていただけますか?あなたが望む結果が完全にはっきりしていない。 – ASGM