2017-08-29 4 views
0

Pandasでは、データフレーム列を2番目のデータフレーム列と比較し、2番目の列から欠落しているすべての項目を取得できるようにしていました:他の列に存在しない列内のすべての値を取得する

notYetIncluded = notYetIncluded.loc[~notYetIncluded["ID"].isin(df_o["ID"])] 

しかし、それはもはや更新パンダ(私はエラーValueError: Buffer dtype mismatch, expected 'Python object' but got 'long long'を得る)で動作しません。それ、どうやったら出来るの? notYetIncluded["ID"].isin(df_o["ID"])

それは場合に役立ちます私は知らないが、これらの列が現在保管数字だけのような41505808、など彼らだすべての4桁または:

破損を引き起こすように見える部分はこれです短いです。例えば

notYetIncluded: 0 5747 1 5746 2 5725 3 5722 4 5720 5 5707 Name: ID, dtype: object

df_o: 24 5365 4 5720 15 5599 Name: ID, dtype: int64

+0

これらの列のデータ型は何ですか? – MattR

+0

特にこの番号は数字です – Elliptica

+0

両方とも数字ですか? 'print(dataframe.dtypes)'を試してみて、これらのカラムのデータ型が – MattR

答えて

0

使用df.astype(str)文字列にあなたの列をキャストして比較します。

n = notYetIncluded 
notYetIncluded = n[~n["ID"].astype(str).isin(df_o["ID"].astype(str))] 
+0

この部分が破損しているようです。notYetIncluded ["ID"]。isin(df_o ["ID"]) ' – Elliptica

+0

@Ellipticaおそらく私たちにいくつかのデータを表示するのはどうですか? –

+0

@COLDSPEED、問題文にデータを追加しました。あなたのソリューションはここでは一時的な手段としてうまく機能しますが、私のデータと比較することができるようになりました。変更されました。 – Elliptica

関連する問題