df['b']=''df['shift']=''df['shift']=df['open'].shift(-1)df['b']=df[x for x in df['shift'] if df["MA10"]>df["MA100"]]解决方法 有几种方法.使用申请:
>>> df = pd.read_csv("bondstack.csv")>>> df["shift"] = df["open"].shift(-1)>>> df["b"] = df.apply(lambda row: row["shift"] if row["MA10"] > row["MA100"] else np.nan,axis=1)
哪个产生
>>> df[["MA10","MA100","shift","b"]][:10] MA10 MA100 shift b0 16.915625 17.405625 16.734375 NaN1 16.871875 17.358750 17.171875 NaN2 16.893750 17.317187 17.359375 NaN3 16.950000 17.279062 17.359375 NaN4 17.137500 17.254062 18.640625 NaN5 17.365625 17.229063 18.921875 18.9218756 17.550000 17.200312 18.296875 18.2968757 17.681250 17.177500 18.640625 18.6406258 17.812500 17.159375 18.609375 18.6093759 17.943750 17.142813 18.234375 18.234375
对于更加矢量化的方法,您可以使用
>>> df = pd.read_csv("bondstack.csv")>>> df["b"] = np.nan>>> df["b"][df["MA10"] > df["MA100"]] = df["open"].shift(-1)
或者我的首选方法:
>>> df = pd.read_csv("bondstack.csv")>>> df["b"] = df["open"].shift(-1).where(df["MA10"] > df["MA100"])总结
以上是内存溢出为你收集整理的python-2.7 – 数据帧中的Pandas列表理解全部内容,希望文章能够帮你解决python-2.7 – 数据帧中的Pandas列表理解所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)