-2
であるかどうかをグループ化します。正規表現は、文字列は、私が似ている文字列の束を持ってそこか
所望のデータフレームのような何かを言う必要があります:どのように私は最初の正規表現を使用して文字列を解析することができます
ACBD
NaN
ABCD
を?私は(ABCD|)
を試しましたが、それは空白に戻ります。全体のスニペットとして
であるかどうかをグループ化します。正規表現は、文字列は、私が似ている文字列の束を持ってそこか
所望のデータフレームのような何かを言う必要があります:どのように私は最初の正規表現を使用して文字列を解析することができます
ACBD
NaN
ABCD
を?私は(ABCD|)
を試しましたが、それは空白に戻ります。全体のスニペットとして
:
import pandas as pd, numpy as np
string = """Bought [email protected] ABCD
Bought [email protected]
Sold [email protected] ABCD"""
needle = 'ABCD'
def search(line):
return needle if line.endswith(needle) else np.nan
df = pd.DataFrame((search(line) for line in string.split("\n")))
print(df)
これは.endswith()
の使用、機能search()
とリストの内包を行い、ラムダ関数を使用して
0
0 ABCD
1 NaN
2 ABCD
でも短いが得られます:
df = pd.DataFrame(map(lambda x: needle if x.endswith(needle) else np.nan, string.split("\n")))
print(df)
さらに個別のソリューションを使用するには、e実際の入力文字列を処理します。
何を試しましたか?正規表現を使用する場合は、https://docs.python.org/3/library/re.html pythonのドキュメントをチェックしましたか? – erhesto
'split'を使い、最後の要素を取ることができます – chakri
' @ \ w + [\ t] +(\ w +)? 'を使うことができます。キャプチャグループがない場合、それは 'NaN'であることが分かります – ctwheels