この質問はmy previous questionに関連しています。データフレームから特定のシーケンスを抽出する方法は?
myList = [V1234,456,A45]
私は2以上の「連番の」回出ていdf
で行のみを取得したい: - VD_5
df =
ID TYPE VD_0 VD_1 VD_2 VD_3 VD_4 VD_5
1 ABC V1234 aaa bbb 456 123 564
2 DBC 456 A45 aaa V1234 bbb 564
3 ABD 456 V1234 bbb ccc 456 123
4 ABD ccc aaa 123 V1234 SSW 123
VD_0
の目標値の次のリストがあります:以下のデータフレームを考えますVD_0
-VD_5
,の値のうちmyList
の値のうち、(myList
に属しない値)の間の他の値を使用することができます。例えば、これらの許容値は、結果はこの1つであるべきなど
aaa
、bbb
、ccc
、次のようになります。私は列Col_
にmyList
から値のみを表示したいresult
で
result =
ID TYPE Col_0 Col_1 Col_2
1 ABC V1234 456
2 DBC 456 A45 V1234
3 ABD 456 V1234 456
、残りの値は無視します。
次のコードは正常に動作しますが、それはmyList
に表示されない任意の値の間に持つことが許されていることを考慮していない:
subset = df.filter(like='VD_')
df[subset.isin(myList).rolling(2, axis=1).sum().max(axis=1)>=2]
任意の助けが理解されるであろう。
私の例に似て、最終結果に 'myList'からの値だけを表示することは可能ですか?また、 'sum(axis = 1)> 1'を使用する理由について説明してください。 – Dinosaurius
編集したnaswerを確認してください。 – jezrael
私は必要なことをするように見えますが、私の実際のデータセットには100列以上の 'VD_'があります。最終結果が 'aaa'、' ccc'、および 'myList'以外の値を表示しない可能性はありますか? – Dinosaurius