我寫了一個函式,如果傳遞的val只有空格,例如' ',它們都會被洗掉,我們回傳np.Nan一個null值。
def check_for_empty_spaces(val):
val = val.rstrip()
if len(val)<1:
return np.NaN
else:
return val
print(len(check_for_empty_strings('WHAJS ')))
print(check_for_empty_strings('WHAJS'))
print(check_for_empty_strings(' '))
print(check_for_empty_strings(''))
該函式根據需要回傳。輸出是:
5
WHAJS
nan
nan
但是現在當我使用這個函式時,我想檢查字串是否是
- 不僅僅是空格
- 不為空
但是,當我檢查這個時:
check = check_for_empty_strings('')
if (check):
print('tru')
print(check)
else:
print('dsj')
我得到這個輸出
tru
nan
為什么第一個是真的?如果 check == NaN 那么不應該if (check)是 False 嗎?我還能如何檢查我的值不僅僅是空格或 NULL。
uj5u.com熱心網友回復:
那么你可以檢查np.nan:
np.isnan(check)
或者您可以回傳None而不是np.nan然后像上面在 if 條件中所做的那樣檢查它,因為bool(None)計算結果為False. bool(np.nan)另一方面,如果您進行評估,您會得到輸出為True.
uj5u.com熱心網友回復:
check = check_for_empty_strings('')
if (np.isnan(check)):
print('tru')
print(check)
else:
print('dsj')
這有效
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/326779.html
上一篇:識別哈希編碼
下一篇:條件WHERE字串不帶/帶空格
