迭代调用 pandas datareader

2024-03-18

我有一个带有股票列表的 python 字典。我试图在 for 循环中使用键(股票代码,见下文)来迭代地为所有股票(以股票代码命名)创建多个 pandas DataFrame,并通过 pandas DataReader 填充价格/交易量。 我认为下面的代码中有一个基本的 python 问题,因为创建的唯一 DataFrame 是“stockName”。 感谢您的帮助

print stocks.keys()
['TSO', 'WDC', 'EBIX', 'AAPL', 'GTAT', 'MSFT', 'BKE', 'VFSTX', 'ORCL', 'UIS', 'HSII', 'PETS', 'BBBY', 'RPXC', 'TZOO', 'DLB', 'SPLS', 'CHE', 'INTC', 'CF', 'GTN', 'FFIV', 'ATML', 'BAH', 'DHX', 'HRB', 'VIAB', 'LMT', 'NOC', 'VWO', 'ROST']

for stockName in stocks.keys():
    stockName = DataReader(stockName,  "yahoo", datetime(2013,1,1), datetime(2013,8,1))

如果您只迭代股票,您可以直接调用它stocks

DataReader(stocks, 'yahoo', datetime(2013, 1, 1), datetime(2013, 8, 1))

从那以后你就不需要迭代了get_data_yahoo为你做到这一点。你会得到一个Panel你可以像使用它一样dict of DataFrames。你甚至不需要打电话stocks.keys() since

for key in dict(a=1, b=2, c=3):
    print key

将打印

a
b
c

结果如下:

In [3]: p = DataReader(stocks, 'yahoo', datetime.datetime(2013, 1, 1), datetime.datetime(2013, 8, 1))

In [4]: p
Out[4]:
<class 'pandas.core.panel.Panel'>
Dimensions: 6 (items) x 147 (major_axis) x 31 (minor_axis)
Items axis: Open to Adj Close
Major_axis axis: 2013-01-02 00:00:00 to 2013-08-01 00:00:00
Minor_axis axis: AAPL to WDC

如果您希望能够通过属性访问来访问股票代码,请执行以下操作

In [7]: p.swapaxes('items', 'minor').AAPL
Out[7]:
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 147 entries, 2013-01-02 00:00:00 to 2013-08-01 00:00:00
Data columns (total 6 columns):
Open         147  non-null values
High         147  non-null values
Low          147  non-null values
Close        147  non-null values
Volume       147  non-null values
Adj Close    147  non-null values
dtypes: float64(6)

EDIT:这将是much更容易操纵结果Panel比填充一个dict并用它做点什么。

你可以用它做各种有趣的事情。这是按以下分组的百分比变化metric, stock, and date:

In [127]: df = p.to_frame(filter_observations=False)

In [128]: res = df.stack().reset_index()

In [129]: res.columns = ['date', 'metric', 'stock', 'value']

In [130]: res.set_index('date').groupby(['metric', 'stock']).apply(lambda x: x.value.pct_change()).stack()
Out[130]:
metric     stock  date
Adj Close  AAPL   2013-01-03   -0.013
                  2013-01-04   -0.028
                  2013-01-07   -0.006
                  2013-01-08    0.003
                  2013-01-09   -0.016
                  2013-01-10    0.012
                  2013-01-11   -0.006
                  2013-01-14   -0.036
                  2013-01-15   -0.032
                  2013-01-16    0.042
                  2013-01-17   -0.007
                  2013-01-18   -0.005
                  2013-01-22    0.010
                  2013-01-23    0.018
                  2013-01-24   -0.124
...
Volume  WDC    2013-07-12   -0.083
               2013-07-15   -0.179
               2013-07-16   -0.302
               2013-07-17   -0.168
               2013-07-18    0.589
               2013-07-19    0.003
               2013-07-22    0.049
               2013-07-23    0.526
               2013-07-24    0.176
               2013-07-25    0.616
               2013-07-26   -0.363
               2013-07-29   -0.357
               2013-07-30    0.554
               2013-07-31   -0.252
               2013-08-01   -0.158
Length: 27010, dtype: float64

天空是极限pandas!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

迭代调用 pandas datareader 的相关文章

  • 如何使用 Python 和 Selenium WebDriver 获取 localStorage

    相当于什么 driver get cookies 获取 LocalStorage 而不是 ookies python API没有提供直接读 写本地存储的方法 但可以通过execute script class LocalStorage de
  • 为什么 statsmodels 和 R 的逻辑回归结果不同?

    我正在尝试比较 python 的 statsmodels 和 R 中的逻辑回归实现 Python版本 import statsmodels api as sm import pandas as pd import pylab as pl i
  • OpenPyXL - 如何查询单元格边框?

    python 和 openpyxl 都是新的 编写一个 py 脚本来遍历大量 Excel 工作簿 工作表 并且需要找到由边框格式标识的某些单元格 我在网上看到几个关于如何设置单元格边框的示例 但我需要阅读它们 具体来说 当表内的数据不一致但
  • 如何分组显示argparse子命令?

    对于具有许多子命令的程序 我想在 help 输出中显示它们按逻辑分组 Python argparse 有一个add argument group http docs python org library argparse html argp
  • 我应该将Python的pyc文件添加到.dockerignore吗?

    我见过几个例子 dockerignorePython 项目的文件 其中 pyc文件和 或 pycache 文件夹被忽略 pycache pyc 由于无论如何这些文件 文件夹都会在容器中重新创建 我想知道这样做是否是一个好习惯 是的 这是一个
  • 合并一个对(元组)列表?

    从链接对的列表中 我想将这些对组合成公共 ID 组 这样我就可以将 group ids 写回数据库 例如 UPDATE table SET group n WHERE id IN Example 1 2 3 4 1 5 6 3 7 8 be
  • time.sleep - TypeError:需要一个浮点[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 time sleep 2 TypeError a float is required 我该如何解决 我不确定我应该在这里做什么 您
  • 使用 ruamel.yaml,如何使带有 NEWLINE 的变量成为不带引号的多行

    我正在生成用作协议的 YAML 其中包含一些生成的 JSON import json from ruamel import yaml jsonsample id 123 type customer account other myyamel
  • 将多个 csv 文件连接成具有相同标头的单个 csv

    我目前正在使用以下代码导入 6 000 个 csv 文件 带标题 并将它们导出到单个 csv 文件 带单个标题行 import csv files from folder path r data US market merged data
  • Python 结构的 PHP 替代品

    我很高兴在我的 Python 项目中使用 Fabric 进行部署 现在我正在从事一个更大的 PHP 项目 想知道是否有类似 PHP 的 Fabric 之类的东西 唔 为什么这有关系 Fabric 只是 python 脚本 所以它与项目语言无
  • 如何从张量流数据集迭代器返回同一批次两次?

    我正在转换一些旧代码以使用数据集 API 此代码使用feed dict将一批数据送入列车运行 实际上是三次 然后重新计算损失以供显示使用同一批 所以我需要一个迭代器来返回完全相同的批次两次 或多次 不幸的是 我似乎找不到一种使用张量流数据集
  • 调度算法,找到设定长度的所有非重叠区间

    我需要为我的管理应用程序实现一种算法 该算法将告诉我何时可以将任务分配给哪个用户 我实现了一个蛮力解决方案 它似乎有效 但我想知道是否有更有效的方法来做到这一点 为了简单起见 我重写了算法以对数字列表进行操作 而不是数据库查询等 下面我将尝
  • .NET 是否有相当于 Python 中的 **kwargs 的功能?

    我一直无法通过典型渠道找到这个问题的答案 在Python中我可以有以下函数定义 def do the needful kwargs Kwargs is now a dictionary i e do the needful spam 42
  • Keras CNN 回归模型损失低,准确度为 0

    我在 keras 中遇到这个 NN 回归模型的问题 我正在研究一个汽车数据集 以根据 13 个维度预测价格 简而言之 我已将其读取为 pandas 数据帧 将数值转换为浮点数 缩放值 然后对分类值使用 one hot 编码 这创建了很多新列
  • 使用 pandas/beautiful soup 抓取表数据(而不是慢的 Selenium?),BS 实现不起作用

    我正在尝试抓取该网站上的网络数据 而我能够访问数据的唯一方法是迭代表的行 将它们添加到列表中 然后将它们添加到 pandas 数据框 写入csv 然后单击下一页并重复该过程 每次搜索大约 50 页 我的程序执行 100 多个搜索 它非常慢
  • 通过 Selenium 和 python 切换到 iframe

    我如何在硒中切换到这个 iframe 只知道 您可以使用 XPath 来定位 iframe driver find element by xpath iframe name Dialogue Window Then switch to th
  • Pandas 数据透视表同时包含多列

    我怀疑是否pandas pivot table可以一次接受两列并单独处理它们 而不是分层处理 假设我有以下数据框 id date day val 101 11 1 1 1 2 1 101 11 1 2 2 2 2 101 11 1 3 3
  • Python 中的否定

    如果路径不存在 我尝试创建一个目录 但是 不 运算符不起作用 我不知道如何在 Python 中进行否定 正确的方法是什么 if os path exists usr share sounds blues proc subprocess Po
  • Python 3d 金字塔

    我是 3D 绘图新手 我只想用 5 个点建造一个金字塔并通过它切出一个平面 我的问题是我不知道如何填充两侧 points np array 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 fig plt figure ax fi
  • 如何将 pygame Surface 转换为 PIL 图像?

    我正在使用 PIL 来透视地变换屏幕的一部分 原始图像数据是一个 pygame Surface 需要转换为 PIL 图像 因此我发现了 pygame 的 tostring 函数就是为了这个目的而存在的 然而结果看起来很奇怪 见附图 这段代码

随机推荐

  • 有什么理由使用运行时断言而不是编译时断言?

    在审查 Visual C 代码库时 我发现了以下奇怪的事情 运行时断言 即检查条件 如果违反条件则抛出异常 用于可以在编译时评估条件的情况 assert sizeof SomeType sizeof SomeOtherType 显然 编译器
  • 错误 [ExceptionHandler] 无法读取 NestJs 中未定义的属性“__guards__”

    我正在努力在 Nest 项目中实现简单的身份验证 当我添加 UseGuards AuthGuard local 我的控制器出现以下错误 ERROR ExceptionHandler Cannot read property guards o
  • 模拟空格键按键

    我到处搜索 阅读MDN上的文档 但我似乎无法解决这个问题 I want to emulate the client pressing the space bar using JavaScript 我试过了 var e new Keyboar
  • 如何使用 JSDoc Typescript 声明隐藏“私有”方法?

    假设我有一个 JavaScript 类 element my element export class MyElement extends HTMLElement publicMethod private privateMethod cus
  • SQL:ENUM 与一对多关系的优点?

    我很少看到 ENUM 数据类型在野外使用 开发人员几乎总是只使用如下所示的辅助表 CREATE TABLE officer ranks id int PRIMARY KEY title varchar NOT NULL UNIQUE INS
  • PHPcurl:“列表中的未知密码”

    我正在使用以下密码列表curl setopt CURLOPT SSL CIPHER LIST DHE DSS AES256 GCM SHA384 DHE RSA AES256 GCM SHA384 DHE RSA AES256 SHA256
  • 如何包装一个方法,以便在超过指定超时时终止其执行?

    我有一个我想调用的方法 然而 我正在寻找一种干净 简单的方法来杀死它 或者在执行时间太长的情况下强制它返回 我正在使用Java 为了显示 logger info sequentially executing all batches for
  • 从 AWS Lambda 连接到 Redshift

    我正在尝试连接到我的Redshift来自我的数据库AWS Lambda功能 con psycopg2 connect dbname my dbname host my url port 5439 user username password
  • Nodejs crypto.publicEncrypt 在不同的机器上产生不同的结果

    我们正在尝试使用 AWS KMS 中的非对称密钥进行加密和解密 key的配置如下 在 NodeJS 中 我们通过 crypto publicEncrypt 使用公钥进行加密 const encryptRSAPayload buffer pu
  • 什么是mockito-inline以及它如何模拟最终方法?

    Mockito 中的 Javadocs 说 从版本 2 7 6 开始 我们提供了 mockito inline 工件 无需配置 MockMaker 扩展文件即可实现内联模拟制作 这是什么意思 mockito inline 是如何工作的 为什
  • 如何使用 JavaScript 读取文本区域中的文本?

    所以我是 JS 的新手 正在尝试了解基础知识 我决定制作一个基本的网页文本编辑器 现在我正在尝试用 JS 来区分单词 这是我的代码 基本上它确定单词 bob 是否已输入到文本区域中
  • 使用 php 验证链接

    谁能告诉我是否可以用 php 验证链接 通过验证 我的意思是检查链接是否处于活动状态 并且不仅仅是链接的实际格式 您需要执行 HEAD 请求并检查响应 200表示请求成功 还有其他的可以在这里找到 http www w3 org Proto
  • MacPorts 手动端口位置

    我正在从 MacPorts 安装一个 python 库 但macports版本的库比实际开发的svn版本旧 是否可以在 MacPorts 中指定端口安装的自定义位置 以便我可以从开发人员站点安装最新的库 Have http guide ma
  • MySQL 复合索引和运算符 BETWEEN

    我对这个查询有一个疑问 SELECT FROM runs WHERE NOW BETWEEN began at AND finished at 您认为为 begin at 和 finish at 列创建复合索引有意义吗 或者只为 begin
  • 模糊效果在模拟器中显示,但在 iPhone 上不显示

    我想创建一个模糊效果UIImageView与下面的代码 问题是 当我在模拟器中运行它时 我可以看到 BlurEffect 但当我连接 iPhone 时却看不到 这里我只能看到灰色背景 有什么想法吗 这是我使用的代码 import UIKit
  • 如何在 MASM 中编写远绝对 JMP/CALL 指令?

    如何使用 MASM 编写远绝对 JMP 或 CALL 指令 具体来说 如何让它使用 EA 和 CA 操作码发出这些指令 而不使用 DB 或其他数据指令手动发出它们 例如 考虑跳转到引导扇区中 FFFF 0000 处的 BIOS 重置入口点的
  • 使用 python 从 BytesIO 创建 Excel 文件

    我在用pandas用于存储 Excel 的库bytesIO记忆 稍后我会存储这个bytesIO对象导入 SQL Server 如下 df pandas DataFrame data1 columns col1 col2 col3 outpu
  • 非常慢的 HHVM、Wordpress、Nginx

    我可能做错了什么 但我正在 php fpm wordpress 设置和 HHVM wordpress 设置之间进行一些测试 我听过并看到过 HHVM 的许多令人兴奋的结果 但我只是对我得到的结果感到震惊 使用以下 apache 测试命令 我
  • 来自 Android 版 IndexedDB Chrome 中保存的块的 HTML5 视频

    我想使用 IndexedDB 在客户端存储离线 HTML5 应用程序的视频文件 为此 我从服务器 API 中下载了 2 个块的视频 然后我将它们作为 blob 存储在 indexedDB 中 然后在其他页面上我从数据库获取它们并创建新的 b
  • 迭代调用 pandas datareader

    我有一个带有股票列表的 python 字典 我试图在 for 循环中使用键 股票代码 见下文 来迭代地为所有股票 以股票代码命名 创建多个 pandas DataFrame 并通过 pandas DataReader 填充价格 交易量 我认