簡體   English   中英

使用Pandas str.contains逐行比較

[英]Using Pandas str.contains to compare row-by-row

我已經建立了以下非常簡單的數據庫來說明我正在嘗試做的事情:

teams = pd.DataFrame({"spreads":['New England Patriots -7.0','Atlanta Falcons 2.5','New Orleans Saints -4.5']})
teams['home'] = ['New England Patriots','Carolina Panthers','New Orleans Saints']
teams['away'] = ['Miami Dolphins','Atlanta Falcons','Tampa Bay Buccaneers']

我實質上是在嘗試提取價差值。 最初,我嘗試使用str.contains首先提取團隊名稱,從而分離出數值,但似乎我不能將其用作比較工具來進行逐行分析。 如果有人對如何提取數值有任何提示(我不認為我可以使用正則表達式,因為在某些情況下不會出現“-”號),或者至少告訴我使用什么方法來確定數值是否正確。每行列出的團隊是主隊還是客隊,我將不勝感激。

使用.str.extract

teams.spreads.str.extract(r'(-?\d+\.?\d*)', expand=False)

0    -7.0
1     2.5
2    -4.5
Name: spreads, dtype: object

范西爾

teams.spreads.str.extract(r'(?P<spread_val>-?\d+\.?\d*)', expand=True)

在此處輸入圖片說明

試試這個分割字符串

teams['spreads_val'] = teams['spreads'].str.rsplit(" ").str.get(-1)

0    -7.0
1     2.5
2    -4.5
Name: spreads_vals, dtype: object

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM