簡體   English   中英

如何從熊貓字符串中提取數字信息?

[英]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.

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