gpt4 book ai didi

python - numpy 中的条件语句。如何使用 pandas 或 numpy 将 3 个或更多个放入我的数据框中?

转载 作者:太空宇宙 更新时间:2023-11-04 04:24:30 25 4
gpt4 key购买 nike

我的语法有问题。我想在 LastPrice 将 > 到较低波段时买入,并在 LastPrice == sma 水平时卖出,如果这是真的,我想将结果放入一列中:“买入”它不像这样放“卖”

我的代码:

df['LastPrice'].dropna(inplace=True)
sma = df['LastPrice'].rolling(window=20).mean()
rstd = df['LastPrice'].rolling(window=20).std()
df['upper_band'] = sma + 2 * rstd
df['lower_band'] = sma - 2 * rstd
df['laseñalota'] = np.where((df['LastPrice'] > df['lower_band'],"Buy") & (df['LastPrice'] == sma), "Sell")

错误是:

operands could not be broadcast together with shapes (2,) (4508,) 

最佳答案

df['laseñalota'] = np.where(df['LastPrice'] > df['lower_band'], 'Buy', 
np.where(df['LastPrice'] <= sma, 'Sell', 'Do Nothing'))

根据@user3483203的建议,如果你有更多的条件并且想在代码中单独的一行中更准确地反射(reflect)它,也可以使用np.select。例如,请参见以下代码:

condlist = [df['LastPrice'] > df['lower_band'], df['LastPrice'] <= sma]
choicelist = ['Buy', 'Sell']
df['new_laseñalota'] = np.select(condlist, choicelist)

关于python - numpy 中的条件语句。如何使用 pandas 或 numpy 将 3 个或更多个放入我的数据框中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53764397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com