2つのパンダデータフレームがあり、それぞれに日付列があります。共通の日付がない行を見つける必要があります
日付列にインデックスを作成したとすると、このような共通のインデックスを持つ行を見つけるための解決策はありますが、共通の日付を持たない行を見つけるための洗練された解決策は見つかりません。例:df1
values 1
28/11/2000 -0.055276
29/11/2000 0.027427
30/11/2000 0.066009
01/12/2000 0.012749
04/12/2000 0.113892
df2
values 2
24/11/2000 -0.004808
27/11/2000 -0.001812
28/11/2000 -0.026316
29/11/2000 0.015222
30/11/2000 -0.024480
2つのデータフレームを指定します。1つは、共通の日付を持たないdf1の行を含みます。
df11
value 1
01/12/2000 0.012749
04/12/2000 0.113892
そして、共通の日付df22を持たないdf2の行を含むもう1つ
value 2
24/11/2000 -0.004808
27/11/2000 -0.001812
ステップ数を減らすことができれば、他の形式の出力でも問題ありません。たとえば、両方のデータフレームを1つのデータフレームに出力することもできます。
このように互いに等しくない行を見つけるための解決策がありますが、その場合、行の各要素は同じである必要があります。
誰もがエレガントな解決策を見つけるのを手伝ってもらえますか?ご意見ありがとうございます
merge
使用することから魔法がありますindicator
s=df1.merge(df2,left_index=True,right_index=True,indicator=True,how='outer')
df1_1=s.loc[s['_merge']=='left_only',['values1']]
df2_2=s.loc[s['_merge']=='right_only',['values2']]
df1_1
values1
01/12/2000 0.012749
04/12/2000 0.113892
df2_2
values2
24/11/2000 -0.004808
27/11/2000 -0.001812
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加