只能将大小为1的数组转换为Python标量

时间:2019-07-16 12:13:21

标签: python pandas

几天来我一直在尝试解决我的错误,但是找不到解决方案。 基本上,我的“ profitOfThisTrade”变量显然返回一个数组,即使在我打印它时,我只看到一个浮点数,然后尝试将其与浮点数进行比较。我尝试转换类型,更改内容,但无济于事。 任何帮助将非常感激。 谢谢

我尝试更改“ profitOfThisTrade”变量的类型。我试着只抓住第一个项目,因为显然它是一个数组,但是无法将其转换为浮点数。

moneyManagedDF = pd.DataFrame()
currentDate = longsUnderEMA10ROC5.index.strftime("%D")
longsUnderEMA10ROC5["Profit/Loss"] = longsUnderEMA10ROC5["Profit/Loss"].astype(float)
stopForTheDay = 0
stopForThisDay = ""
profitOfThisTrade = 0.0
dailyTarget = 46.0
dailyStop = -124.26
todaysProfit = 0.0
for x in longsUnderEMA10ROC5.index.values:
    if stopForTheDay == 1:
        if stopForThisDay == x:
            break
        elif stopForThisDay != x:
            stopForTheDay = 0
            todaysProfit = 0
    if stopForTheDay == 0:
        moneyManagedDF = moneyManagedDF.append(longsUnderEMA10ROC5.loc[x])
        profitOfThisTrade = longsUnderEMA10ROC5["Profit/Loss"].loc[x].item()
        todaysProfit = todaysProfit + profitOfThisTrade - 3.92
    if (todaysProfit >= dailyTarget) or (todaysProfit <= dailyStop):
        stopForTheDay = 1
        stopForThisDay = x

我想比较ProfitOfThisTrade和todaysProfit,但它们的类型不同。 根据更改类型时收到这些错误。 -只能将大小为1的数组转换为Python标量 -系列的真实值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

0 个答案:

没有答案