簡體   English   中英

如何從“對象”的 pandas 列中的字符串中提取數字?

[英]How do I extract numbers from the strings in a pandas column of 'object'?

我有一個名為“x”的 dataframe。

此 dataframe 與房屋的大小和類型(例如 35A、9B、50C..)有關,屬於“對象”類型,包含缺失值。

我只想從此 dataframe 中提取數字並將它們轉換為數字類型。

在這種情況下我該怎么辦?

我嘗試了以下方法,但沒有奏效:

df['x'] = df['x'].str[0:2]
df['x'] = pd.to_numeric(df['x'])

Output ValueError:無法在 position 3766 處解析字符串“9A”

我會在這里使用str.extract

df['x'] = pd.to_numeric(df['x'].str.extract(r'^(\d+)'))

嘗試使用純 substring 方法的挑戰在於我們不一定知道要占用多少個字符。 正則表達式解決了這個問題。

您假設對於x列中的字符串,前兩個字符將始終是數字。 不幸的是,您有一行x9A ,它不會轉換為數值。

暫無
暫無

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

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