Python - 替换数据框中出现的模式

时间:2018-05-22 02:15:11

标签: python pandas

我的数据框带有一列('A'):

A
E19
V17
23.12
23.4
23
42
48
像这样,有超过10万条记录。

我希望将所有以EV开头的匹配项替换为300,并将号码(23.4,23.12,...)替换为23

我正在使用的代码:

def clean(x):

 x = sub( r'[E|V](\d+)', r'\g<1>3000', x )

 return sub( r'[^\d]', '' , x ) 

df.A.map(clean).astype(float).astype(int)

但是我收到了错误..

TypeError: expected string or bytes-like object

请帮忙!

2 个答案:

答案 0 :(得分:0)

  1. to_numeric将非数字类型转换为NaN
  2. dropna放弃NaN
  3. astype转换类型

    pd.to_numeric(df['A'], errors='coerce').dropna().astype(int)

答案 1 :(得分:0)

使用<input type="checkbox" name="fooName" id="fooId" ng-model="false" >

$("#fooId").val()