重新搜索,重新匹配两列作为参数

2024-07-08 15:11:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个带NaN和另一个值的变量。他们的数目如下

NaN                                   5101
PSYCHIATRIST - CLINICAL PSYCHOLOGY    1596
Name: PROV_CATGY_DESC, dtype: int64

(第一个附带问题:其值为NaN或字符,为什么输入为int64?我将其更改为astype(object),但下面的问题仍然相同)

首先,我试着用这行代码去掉前导空格

df['PROV_CATGY_DESC']=df['PROV_CATGY_DESC'].str.strip()

然后我测试了这个:

if (re.search('PSYCHIATRIST - CLINICAL PSYCHOLOGY', str(df['PROV_CATGY_DESC'].str.upper()))) :
    df['SPECShort']=1
else:
    df['SPECShort']=2  

结果如下:

1    6697
Name: SPECShort, dtype: int64

最后,我测试了这个:

if (re.match('PSYCHIATRIST - CLINICAL PSYCHOLOGY', str(df['PROV_CATGY_DESC'].str.upper()))) :
    df['SPECShort']=1
else:
    df['SPECShort']=2  

结果如下:

2    6697
Name: SPECShort, dtype: int64

但是我想我去掉了前面的空格,如果有的话,PROV_CATGY_DESC应该以PSYCHIATRIST - CLINICAL PSYCHOLOGY开头

无论如何,在重新匹配和重新搜索两种情况下,为什么不能正确拾取NaN


Tags: namedfifnandesc空格dtypeclinical

热门问题