我有一个带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
目前没有回答
相关问题 更多 >
编程相关推荐