首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用熊猫或Numpy根据列数据选择行范围

使用熊猫或Numpy根据列数据选择行范围
EN

Stack Overflow用户
提问于 2019-09-15 04:39:04
回答 2查看 65关注 0票数 1

你好,我有多个csvs的股票,我产生的熊猫。我的目标似乎很简单,我一天比一天测量音量的百分比差异。

代码语言:javascript
复制
    for ticker in tickers:
        df = pd.read_csv('stock_dfs/{}.csv'.format(ticker))
        df['Volume_Pct_Change'] = df['Volume'].pct_change().fillna(0)
        df.to_csv('stonks_dfs/{}.csv'.format(ticker))

这很容易。现在,我想找到所有的时间,体积是150%以上。我在另一个python脚本中这样做,与提取原始数据不同。

代码语言:javascript
复制
with open('sp500tickers.pickle', "rb") as f:
        tickers = pickle.load(f)

    for ticker in tickers:
        df = pd.read_csv('stock_dfs/{}.csv'.format(ticker))
        df_vpc = df.loc[df['Volume_Pct_Change'] >= 1.5]
        df_vpc.to_csv('{}.csv'.format(ticker))

这对我很有好处。

我的问题是,我希望在选定的行之前和之后提取X行数量,即在具有Volume_Pct_change >= 1.5的选定行之前和之后(7行和30行),这样我就可以在卷峰值之前和之后绘制并查看随时间变化的情况。如果有办法使用Numpy的话,我会得到额外的奖励。

编辑1:所以运行

df = pd.read_csv('AAPL.csv') c=df['Volume_Pct_Change'] >= 1.2 for idx in c: df.iloc[(idx-7):(idx+30)]

当条件存在时,给出正确的true输出。

114,False 115,False 116,False 117,False 118,True 119,False 120,False 121,False

但是在运行df.iloc[(idx-7):(idx+30)]之后,当我将df导出到csv时,它并没有改变。

编辑2:好的,开始运行

df = pd.read_csv('AAPL.csv') c = df.index[df['Volume_Pct_Change'] >= 1.2] for idx in c: df.iloc[(idx-7):(idx+30)]

在导出时,我认为df没有什么不同,但使用d=df.iloc[(idx-7):(idx+30)]可以工作,但在dataframe中只有一组df,这让我感到困惑。只剩下最后一个了。似乎它循环地覆盖了数据,每个人都以最后一个结束?

最后编辑:谢谢大家的帮助

df = pd.read_csv('AAPL.csv') c = df.index[df['Volume_Pct_Change'] >= 1.2] for idx in c: d = df.iloc[(idx-7):(idx+30)] d.to_csv('{}.csv'.format(idx))

取得了预期的结果,而且速度相当快。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-15 05:08:17

可能是这样吧?

代码语言:javascript
复制
c=df.index[df['Volume_Pct_Change'] >= 1.5]
for idx in c:
    df.iloc[(idx-7):(idx+30)]
票数 1
EN

Stack Overflow用户

发布于 2019-09-15 04:55:48

利用熊猫df获得符合>150%条件的行指数列表。然后将列表转换为列表中每个值的范围为-7到+30的新列表。使用这个新列表获得所需的结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57941191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档