データが「1yrs6mon」形式で格納され、年と月の値が複数の順列で格納されている2つの列があります。Pythonでこれを「合計年数」または「合計月数」に変換するにはどうすればよいですか?
私はこれを行う方法について調査しましたが、提案を見つけることができませんでした
期待される出力は、以下のようになります。1年6か月は1。5年または18か月0年7か月は0。58年または7か月
パンダstr.extractall
を使用して、少し前処理を行うことができます。
s = pd.Series(['1 yr 6 mon', '2 yr 5 mon'])
s
0 1 yr 6 mon
1 2 yr 5 mon
dtype: object
(s.str.extractall(r'(\d+)')[0]
.unstack()
.astype(int)
.set_axis(['yr', 'mon'], axis=1, inplace=False)
.eval('yr + mon / 12'))
0 1.500000
1 2.416667
dtype: float64
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加