2017-08-25 6 views
0

Pandaのデータフレームには、以下の形式のテキスト列があります。 ##の間にいくつかの値/テキストメッシュがあります。私は##の間に存在するそのようなテキストを見つけて、それらをリストとして別の列に抽出したいと考えています。区切り文字の間にテキストを抽出し、別の列にリストとして格納します。

##fare_curr.currency####based_fare_90d.price## 

htt://www.abcd.lol/abcd-Search?from:##based_best_flight_fare_90d.air##,to:##mbased_90d.water##,departure:##mbased_90d.date_1##TANYT&pas=ch:0Y&mode=search 

上記の2つの文字列が同じ列の2つの行であると考えてください。最初の行にはlist [fare_curr.currency, based_fare_90d.price]、2行目には[based_best_flight_fare_90d.air, mbased_90d.water, based_90d.date_1]という新しい列が必要です。

+0

を取得し、望ましい結果を得ることができますが、文字列と何が何であるかを明確にすることができ正確な出力が期待される? – Vaishali

+0

質問を編集して、出力に必要なものをより具体的にするようにしました。ありがとう。 – Yuvaraj

答えて

1

これは

df = pd.DataFrame({'data': 
['##fare_curr.currency####based_fare_90d.price##', 
'htt://www.abcd.lol/abcd-Search?\ from:##based_best_flight_fare_90d.air##,to:##mbased_90d.water##,departure:# 
#mbased_90d.date_1##TANYT&pas=ch:0Y&mode=search']}) 

をdfを考えるとあなたは

df['new'] = pd.Series(df.data.str.extractall('##(.*?)##').unstack().values.tolist()) 

を使用して、新しい列にあなたは

data           new 
0 ##fare_curr.currency####based_fare_90d.price## [fare_curr.currency, based_fare_90d.price, None] 
1 htt://www.abcd.lol/abcd-Search?from:##based_be... [based_best_flight_fare_90d.air, mbased_90d.wa... 
関連する問題