我正在设置或设置超出定义阈值的值。我正在使用.ix []方法。但是,我无法使用下面的代码(python 2)完成它。
请教我为什么这是错的&任何其他更快的方法。
df = DataFrame({"v1" : np.random.randn(10), "v2" : np.random.randn(10), "v3" : [np.nan]*10})
print "pre floor"
print df
f_dict = {"v1": 0, "v2": 0}
#flooring value treatment
for key, val in f_dict.iteritems():
print df.ix[df[key]<val,key] = val
print df
#ERROR:
print df.ix[df[key]<val,key]=0
^
SyntaxError: invalid syntax
答案 0 :(得分:2)
所以这就是您的解决方案正在发生的事情
print df.ix[df[key]<val,key] = val #syntax error
在这里,您尝试打印并将其分配给变量val,但这不可支持。
以下代码可作为您的示例。
df.loc[df[key]<val,key] = val
print(val)
答案 1 :(得分:1)