如何將此 [DataFrame] 資料轉換為月份,例如:2 yrs 2 mon 為 26
0 0yrs 0mon
1 2yrs 6mon
2 0yrs 0mon
3 0yrs 0mon
4 3yrs 1mon
5 15yrs 2mon
6 1yrs 10mon
7 0yrs 0mon
8 0yrs 0mon
9 3yrs 10mon
Name: CREDIT.HISTORY.LENGTH, dtype: object
uj5u.com熱心網友回復:
用于andSeries.str.extract之前的數字,轉換為整數,然后創建新列:yrsmon
y = data["CREDIT.HISTORY.LENGTH"].str.extract("(\d )yrs", expand=False).astype(int)
m = data["CREDIT.HISTORY.LENGTH"].str.extract("(\d )mon", expand=False).astype(int)
data["MONTHS"] = y * 12 m
print (data)
CREDIT.HISTORY.LENGTH MONTHS
0 0yrs 0mon 0
1 2yrs 6mon 30
2 0yrs 0mon 0
3 0yrs 0mon 0
4 3yrs 1mon 37
5 15yrs 2mon 182
6 1yrs 10mon 22
7 0yrs 0mon 0
8 0yrs 0mon 0
9 3yrs 10mon 46
uj5u.com熱心網友回復:
你可以通過一個命令來實作這一點,extract利用一個系列的乘法:
df['MONTHS'] = (df['CREDIT.HISTORY.LENGTH']
.str.extract(r'(\d )yrs\s*(\d )mon').astype(int)
.mul(pd.Series({0: 12, 1: 1})) # multiply years by 12, leave months unchanged
.sum(axis=1)
)
輸出:
CREDIT.HISTORY.LENGTH MONTHS
0 0yrs 0mon 0
1 2yrs 6mon 30
2 0yrs 0mon 0
3 0yrs 0mon 0
4 3yrs 1mon 37
5 15yrs 2mon 182
6 1yrs 10mon 22
7 0yrs 0mon 0
8 0yrs 0mon 0
9 3yrs 10mon 46
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/458746.html
標籤:python-3.x 熊猫 数据框
上一篇:熊貓-密集排名但保留當前組數
