1
長さと文字が異なる文字列を含むpandasデータフレームがあります。例えば部分文字列の一致に基づいてパンダデータフレームをフィルタリングする
:
print df['name'][0]
print df['name'][1]
print df['name'][2]
print df['name'][3]
はこのような何かを返すでしょう:私は何をしたいか
UserId : Z5QF1X33A
loginId : test.user
UserId : 0000; searchText : Cap
accountSampleToExclude : 0; accountSampleName : Sample Text; UserId : Z5QF1X33A; accountSampleType : Test; accountSample : Test
する列を解析することが可能とだけように基づいて、実際の関連IDを返すです上記の例:
Z5QF1X33A
test.user
0000
Z5QF1X33A
私はregexがtを解くのに簡単なアプローチであると考えました彼の、これまでのところ、私は部分的にしか例にはいくつかのハードコードされた擬似的な解決策を考え出すことができました:
df['name'][0]
df['name'][1]
しかしwouldnに類似している行のために働くだろう
df['name'] = df['name'].str.strip(r'(?<=\UserId :).*')
df['name'] = df['name'].str.strip(r'(?<=\loginId :).*')
他の場合には働きません。任意の助けが大いに感謝されるだろう、私は正規表現なしで、おそらくちょうどstr.split()メソッドを使用して解決することができますが、pythonicおよび/またはパンダの方法で続行する方法がわかりません。
、しかし、あまりにも冗長ではない(?正規表現を使用せずに)これにアプローチするよりニシキヘビ方法があります。 – astateofsanj
@ user3356075、 "regex'sを使用して"何が間違っていますか? – MaxU