したがって、ある列にテキストを含むデータフレームがあります。 私は、列の各行の中で2つの文字列を見つけようとしていて、それらの2つの文字列の間の行テキストをスライスして部分文字列を取得しようとしています。このような何か:他の列の値を使用してパンダの列をスライスする
startinds = df[column].str.find("First Event = ")
endinds = df[column].str.find("\nLast Event = ")
df["first_timestamp"] = df[column].str.slice(startinds,endinds)
startinds
とendinds
はシリーズですので、私はcolumn
内の文字列をスライスするための指標としてそれらを使用することはできませんので、今これは動作しません。
誰でも、各行で部分文字列を処理するための値にアクセスする方法を知っていますか?
例入力:
Data
0 "Blahblah
First Event = 09/20/2017 12:00:00
Last Event = 09/20/2017 13:00:00
Blahblahblah"
1 "Blahblahblahblah
Blahablahblah
First Event = 09/20/2017 12:30:00
Last Event = 09/20/2017 12:45:00
Blahblahblah"
出力:
first_timestamp
0 "First Event = 09/20/2017 12:00:00"
1 "First Event = 09/20/2017 12:30:00"
それは[githubの上の未解決の問題](https://github.com/pandas-dev/pandas/issues/8748)です。おそらく、手動で行う必要があります。 – IanS
''最初のイベント= "+ df.Data.str.extract( '(?<=最初のイベント=)(?*)(?= \\\\ n最後のイベント)'、expand = False)'? – Zero