python-2.7 – 数据帧中的Pandas列表理解

python-2.7 – 数据帧中的Pandas列表理解,第1张

概述如果满足某些条件,我想在当前存储在(第1行)的第二天打开价格并将其存储在新列中. 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("bo 如果满足某些条件,我想在当前存储在(第1行)的第二天打开价格并将其存储在新列中.
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列表理解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1206534.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存