以下のようなサンプル、dfについて考えています。
________id________name_______diff_________num
0 000 aaa 3.0 1
1 111 bbb 123.0 2
2 222 bbb 0.0 2
3 333 bbb 4.0 2
4 444 ccc 333.0 3
5 555 ccc 3.0 3
6 666 ddd 1234.0 4
7 777 eee 4567.0 5
8 888 eee 5.0 6
9 999 eee 2.0 6
この中からnameが同じでdiffが小さいにもかかわらず、numがひとつ前の行から変化してしまっている要素をエラーと考えます。この時、間違った更新が行われた二行のデータセットを、1万行の中から全てデータフレームとして取り出したいです。
サンプルの場合は、7行と8行が該当します。
抽出条件にdf.loc[i, 'name'] == df.loc[i+1, 'name'] and df.loc[i+1, 'diff'] < 100
などを考えましたが、データフレーとして取り出せません。うまい方法はありませんでしょうか。
言語は pythonです。
補足
diffですが、ルールでは値が100以上であれば、ひとつ上の要素とは違うnameとnumを持ちます。
逆に100未満であれば、同じnameを持ち、numも同じ値になります。
上記サンプルのインデックスが7と8について、8のnumは5であるはずが、6に更新されています。その結果インデックス9のnumも6になってしまっているというケースです。
回答2件
あなたの回答
tips
プレビュー