オリジナルDATAFRAME(df1
が)のように見えているドロップ行:私はindex = NoDemande, NoUsager, Periods
とcolumns = ['Sens']
と新しいもの(df2
)を生成するためにcrosstab
を使用パイソン&パンダ - 列の値を別のデータフレームのインデックス値
NoUsager Sens NoAdresse Fait Weekday NoDemande Periods
0 000001 + 000079 1 Dim 42191000972 Soir
1 001875 + 005018 1 Dim 42191001052 Matin
2 001651 + 005018 1 Dim 42191001051 Matin
3 001486 + 000405 1 Dim 42191001250 Matin
4 002021 + 005712 1 Dim 42191000013 Matin
5 001975 + 005712 1 Dim 42191000012 Matin
6 001304 + 001408 1 Dim 42191000371 Matin
7 001355 + 005021 1 Dim 42191000622 Matin
8 002274 + 006570 1 Dim 42191001053 Matin
9 000040 + 004681 1 Dim 42191002507 Soir
:
私は列NoUsager
と
NoDemande
の値がINDE内の1つのと同じです
df1
からすべての行をドロップしたい
Sens + -
NoDemande NoUsager Periods
42191000622 001355 Matin 1 2
42191000959 001877 Matin 1 2
42191001325 000627 Soir 1 2
42191001412 000363 Matin 1 2
42191001424 000443 Soir 1 2
42191001426 001308 Soir 1 2
42191002507 000040 Soir 2 0
42193000171 000257 Soir 1 2
42193000172 002398 Soir 1 2
x NoUsager
およびNoDemande
をdf2
に設定します。その結果、新しいデータフレームdf3
が返され、df1
フォーマットと同じですが、line7
とline9
は含まれません。
私が試した:
df3 = df1.loc[~df1['NoDemande','NoUsager'].isin([df2.NoDemande,df2.NoUsager])]
をしかし、それは返さ:KeyError: ('NoDemande', 'NoUsager')
どのように私はこの問題を解決することができますか?
ご協力いただければ幸いです!
ニースの答え。しかし、 'df [[NoUsemer '、' NoDemande ']]を実行しない理由がありますか?isin(df2.reset_index()[[' NoUsager '、' NoDemande ']])all(axis = 1)' ? 'to_dict'はここで何を与えるのでしょうか? –
@AmiTavoryはい、私の直感に反して、あなたが提案したものは動作しません。私はなぜ何かを説明することを書こうとします。 – piRSquared
@piRSquaredこの素敵な答えをありがとう。したがって、列とインデックスを比較することは不可能ですか? – ch36r5s