大熊猫丢弃数据框中的单词

时间:2016-09-04 04:59:28

标签: python regex dataframe

我有一个示例数据框,我希望删除所有单词并保留值。

Column1    Column2    Column3    Column4                     Column5
5FQ        1.047      S$55.3     UG44.2 as of 02/Jun/2016    S$8.2 mm

是否可以删掉单词并保留所有数字? IE:获得以下预期结果:

Column1    Column2    Column3    Column4    Column5
5          1.047      55.3       44.2       8.2

2 个答案:

答案 0 :(得分:3)

一种方法是:

In [212]: df
Out[212]: 
  Column1  Column2 Column3                   Column4   Column5
0     5FQ    1.047  S$55.3  UG44.2 as of 02/Jun/2016  S$8.2 mm

In [213]: df.apply(lambda x: x.astype(str).str.extract(r'(\d+\.?\d*)', expand=True).astype(np.float))
Out[213]: 
   Column1  Column2  Column3  Column4  Column5
0      5.0    1.047     55.3     44.2      8.2

答案 1 :(得分:3)

您可以使用pd.Series.extract

In [28]: for c in df:
    df[c] = df[c].str.extract('(\d+\.?\d*)', expand=False)
   ....:     

In [29]: df
Out[29]: 
  Column1 Column2 Column3 Column4 Column5
0       5   1.047    55.3    44.2     8.2

请注意,这有点脆弱,因为Column4它有效,因为日期出现在数量之后。但是,你的问题并未指明任何更精确的内容。