码:
for i in range(1000):
print(i) if i%10==0 else pass
Run Code Online (Sandbox Code Playgroud)
错误:
File "<ipython-input-117-6f18883a9539>", line 2
print(i) if i%10==0 else pass
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
为什么不"通过"在这里工作?
尝试在给定的特定条件下将值写入列,默认值为 Null 值,代码如下:
import pandas as pd
import numpy as np
df = pd.DataFrame({'col': list('ABCDE')})
cond1 = df['col'].eq('A')
cond2 = df['col'].isin(['B', 'E'])
df['new_col'] = np.select([cond1, cond2], ['foo', 'bar'], default=np.NaN)
Run Code Online (Sandbox Code Playgroud)
但它'nan'在列中给出字符串值。
df['new_col'].unique()
#array(['foo', 'bar', 'nan'], dtype=object)
Run Code Online (Sandbox Code Playgroud)
有没有办法直接从这段代码中将其更改为 null?