0
我需要在一個大熊貓列中使用無操作的操作。
使用以下方法不起作用。任何想法爲什麼?強制大熊貓接受無操作命令
df['flag'] = filtered.map(lambda x: 'N' if x else pass)
我需要在一個大熊貓列中使用無操作的操作。
使用以下方法不起作用。任何想法爲什麼?強制大熊貓接受無操作命令
df['flag'] = filtered.map(lambda x: 'N' if x else pass)
您的語法無效。 pass
是一個statement,你不能在條件表達式,在許多其他情況下使用它。請參閱:
>>> True if False else pass # inappropriate use
File "<stdin>", line 1
True if False else pass
^
SyntaxError: invalid syntax
>>> if pass: # inappropriate use
File "<stdin>", line 1
if pass:
^
SyntaxError: invalid syntax
>>> set(pass) # inappropriate use
File "<stdin>", line 1
set(pass)
^
SyntaxError: invalid syntax
>>> a = [ pass ] # inappropriate use
File "<stdin>", line 1
a = [ pass ]
^
SyntaxError: invalid syntax
>>> def lazy_function(): # good use
... pass
...
在您的代碼,請返回空字符串,而不是(或任何其他值):
df['flag'] = filtered.map(lambda x: 'N' if x else '')
+1。作爲替代,你可以使用'numpy.nan'作爲填充值。 *可能*在路上更方便。 –
你想跳過行或保留原來的價值?如果你想保留這個值,那麼你可以只做'df ['flag'] = filtered.map(lambda x:'N',如果x else x)' – EdChum
否則你可以只過濾NaN(我假設如果沒有樣本數據和代碼,難以分辨),並應用該映射:'df ['flag'] = filtered.notnull()。map('N')' – EdChum