【发布时间】:2013-12-17 15:50:54
【问题描述】:
在我的 for 循环中,我的代码生成了一个类似这样的列表:
list([0.0,0.0]/sum([0.0,0.0]))
循环生成各种其他数字向量,但它也生成[nan,nan],为了避免它,我尝试像下面的那样放入一个条件来防止它,但它不返回true。
nan in list([0.0,0.0]/sum([0.0,0.0]))
>>> False
它不应该返回 true 吗?
我已加载的库:
import PerformanceAnalytics as perf
import DataAnalyticsHelpers
import DataHelpers as data
import OptimizationHelpers as optim
from matplotlib.pylab import *
from pandas.io.data import DataReader
from datetime import datetime,date,time
import tradingWithPython as twp
import tradingWithPython.lib.yahooFinance as data_downloader # used to get data from yahoo finance
import pandas as pd # as always.
import numpy as np
import zipline as zp
from scipy.optimize import minimize
from itertools import product, combinations
import time
from math import isnan
【问题讨论】:
-
这不是一个有效的代码——它应该给出一个错误,因为你不能将列表除以浮点数。
-
适用于我的,并返回 false。 Anaconda 2.7.3 Python
-
您确定在加载任何库之前看到此内容吗?因为在标准 Python 2.7 中这是非法操作。以及只能来自某些
from ... import *的 NaN。这可能是您的口译员的功能,因此请将此信息添加到问题中。 -
除了我的观点之外,
numpy.nan in [numpy.nan, numpy.nan]应该返回 true。我不知道你的 nan 来自哪里 - 我猜这是你正在加载的某个库,因为它不是标准的 Python 功能。 -
我明白你的意思,我同意。你有没有看到我加载的任何导致这种情况的库。前 4 个库是自定义库,它们本身加载相同的内容。
标签: python