![](/img/trans.png)
[英]Pandas - extract numeric values from string column using replace + regex
[英]how to extract numeric information from a string in Pandas?
我的數據框中有一個包含字符串行的列,例如:
'(0.0,0.8638888888888889,3.7091666666666665,12.023333333333333,306.84694444444443)'
此輸出(由另一個程序生成)對應於給定變量的最小值,第25位,中位數,第75位和最大值。
我想提取該信息,並將其放在單獨的數字列中,例如
min p25 p50
0.0 0.864 3.70
我的數據確實很大。 如何在熊貓中做到這一點?
非常感謝!
IIUC,那么以下應該工作:
In [280]:
df = pd.DataFrame({'col':['(0.0,0.8638888888888889,3.7091666666666665,12.023333333333333,306.84694444444443)']})
df
Out[280]:
col
0 (0.0,0.8638888888888889,3.7091666666666665,12....
In [297]:
df[['min','p25','p50']] = df['col'].str.replace('\'|\(|\)','').str.split(',', expand=True).astype(np.float64)[[0,1,2]]
df
Out[297]:
col min p25 p50
0 (0.0,0.8638888888888889,3.7091666666666665,12.... 0.0 0.863889 3.709167
因此,這取代了'
(
和)
使用帶有空白字符str.replace
,然后大家平分使用str.split
的逗號和鑄型浮動,然后指數感興趣的cols。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.