首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将quandl fx小时数据转换为每日数据

将quandl fx小时数据转换为每日数据
EN

Stack Overflow用户
提问于 2019-07-16 20:16:26
回答 1查看 260关注 0票数 0

我想将导入到熊猫数据中的每小时财务数据转换为具有以下csv头的数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
symbol,date,hour,openbid,highbid,lowbid,closebid,openask,highask,lowask,closeask,totalticks

我已经用pandas.read_csv()导入了数据。为了测试目的,我已经从数据中删除了除一个符号之外的所有符号,并且到目前为止,我已经计算出了这一部分:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df.groupby('date').agg({'highask': [max], 'lowask': [min]})

我对python还很陌生,所以我不太确定如何继续下去。我猜我可以使用某种匿名函数来创建额外的字段。例如,我希望获得每个日期在0小时的公开问询价格,以及每个数据在23小时的关闭问询价格。理想情况下,我会添加额外的列并创建一个新的dataframe。我想为市场价格添加一个新的列,即低、高、开放和关闭的平均出价/出价。

如有任何建议,将不胜感激。谢谢!

编辑

按照要求,这是我期望的2018-07-24年的产出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
symbol,date,openbid,highbid,lowbid,closebid,openask,highask,lowask,closeask,totalticks
AUD/USD,2018-07-24,0.7422,0.74297,0.7429,0.74196,0.74257,0.743,0.74197,0.74258,5191

开标是一个日期在最低时列的开盘,闭包是一个日期的最高时刻的闭包,等等。我真正挣扎的是确定开场白、开场白、闭幕式和闭包。

样本数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
symbol,date,hour,openbid,highbid,lowbid,closebid,openask,highask,lowask,closeask,totalticks
AUD/USD,2018-07-24,22,0.7422,0.74249,0.74196,0.7423,0.74225,0.74252,0.74197,0.74234,1470
AUD/USD,2018-07-24,23,0.7423,0.74297,0.7423,0.74257,0.74234,0.743,0.74234,0.74258,3721
AUD/USD,2018-07-25,0,0.74257,0.74334,0.74237,0.74288,0.74258,0.74335,0.74239,0.74291,7443
AUD/USD,2018-07-25,1,0.74288,0.74492,0.74105,0.74111,0.74291,0.74501,0.74107,0.74111,14691
AUD/USD,2018-07-25,2,0.74111,0.74127,0.74015,0.74073,0.74111,0.74129,0.74018,0.74076,6898
AUD/USD,2018-07-25,3,0.74073,0.74076,0.73921,0.73987,0.74076,0.74077,0.73923,0.73989,6207
AUD/USD,2018-07-25,4,0.73987,0.74002,0.73921,0.73953,0.73989,0.74003,0.73923,0.73956,3453
AUD/USD,2018-07-25,5,0.73953,0.74094,0.73946,0.74041,0.73956,0.74096,0.73947,0.74042,7187
AUD/USD,2018-07-25,6,0.74041,0.74071,0.73921,0.74056,0.74042,0.74069,0.73922,0.74059,10646
AUD/USD,2018-07-25,7,0.74056,0.74066,0.73973,0.74035,0.74059,0.74068,0.73974,0.74037,9285
AUD/USD,2018-07-25,8,0.74035,0.74206,0.73996,0.74198,0.74037,0.74207,0.73998,0.742,10234
AUD/USD,2018-07-25,9,0.74198,0.74274,0.74176,0.74225,0.742,0.74275,0.74179,0.74227,8224
AUD/USD,2018-07-25,10,0.74225,0.74237,0.74122,0.74142,0.74227,0.74237,0.74124,0.74143,7143
AUD/USD,2018-07-25,11,0.74142,0.74176,0.74093,0.74152,0.74143,0.74176,0.74095,0.74152,7307
AUD/USD,2018-07-25,12,0.74152,0.74229,0.74078,0.74219,0.74152,0.74229,0.74079,0.74222,10523
AUD/USD,2018-07-25,13,0.74219,0.74329,0.74138,0.74141,0.74222,0.74332,0.74136,0.74145,13983
AUD/USD,2018-07-25,14,0.74141,0.74217,0.74032,0.74065,0.74145,0.7422,0.74034,0.74067,21814
AUD/USD,2018-07-25,15,0.74065,0.74151,0.73989,0.74113,0.74067,0.74152,0.73988,0.74115,16085
AUD/USD,2018-07-25,16,0.74113,0.74144,0.74056,0.7411,0.74115,0.74146,0.74058,0.74111,7752
AUD/USD,2018-07-25,17,0.7411,0.7435,0.74092,0.74346,0.74111,0.74353,0.74094,0.74348,11348
AUD/USD,2018-07-25,18,0.74346,0.74445,0.74331,0.74373,0.74348,0.74446,0.74333,0.74373,9898
AUD/USD,2018-07-25,19,0.74373,0.74643,0.74355,0.74559,0.74373,0.74643,0.74358,0.7456,11756
AUD/USD,2018-07-25,20,0.74559,0.74596,0.74478,0.74549,0.7456,0.746,0.74481,0.74562,5607
AUD/USD,2018-07-25,21,0.74549,0.74562,0.74417,0.74438,0.74562,0.74576,0.74422,0.74442,3613
AUD/USD,2018-07-26,22,0.73762,0.73792,0.73762,0.73774,0.73772,0.73798,0.73768,0.73779,1394
AUD/USD,2018-07-26,23,0.73774,0.73813,0.73744,0.73807,0.73779,0.73816,0.73746,0.73808,3465
AUD/USD,2018-07-27,0,0.73807,0.73826,0.73733,0.73763,0.73808,0.73828,0.73735,0.73764,6582
AUD/USD,2018-07-27,1,0.73763,0.73854,0.73734,0.73789,0.73764,0.73857,0.73736,0.73788,7373
AUD/USD,2018-07-27,2,0.73789,0.73881,0.73776,0.73881,0.73788,0.73883,0.73778,0.73882,3414
AUD/USD,2018-07-27,3,0.73881,0.7393,0.73849,0.73875,0.73882,0.73932,0.73851,0.73877,4639
AUD/USD,2018-07-27,4,0.73875,0.739,0.73852,0.73858,0.73877,0.73901,0.73852,0.73859,2487
AUD/USD,2018-07-27,5,0.73858,0.73896,0.7381,0.73887,0.73859,0.73896,0.73812,0.73888,5332
AUD/USD,2018-07-27,6,0.73887,0.73902,0.73792,0.73879,0.73888,0.73902,0.73793,0.73881,7623
AUD/USD,2018-07-27,7,0.73879,0.7395,0.73844,0.73885,0.73881,0.7395,0.73846,0.73887,9577
AUD/USD,2018-07-27,8,0.73885,0.73897,0.73701,0.73727,0.73887,0.73899,0.73702,0.73729,12280
AUD/USD,2018-07-27,9,0.73727,0.73784,0.737,0.73721,0.73729,0.73786,0.73701,0.73723,8634
AUD/USD,2018-07-27,10,0.73721,0.73798,0.73717,0.73777,0.73723,0.73798,0.73718,0.73779,7510
AUD/USD,2018-07-27,11,0.73777,0.73789,0.73728,0.73746,0.73779,0.73789,0.7373,0.73745,4947
AUD/USD,2018-07-27,12,0.73746,0.73927,0.73728,0.73888,0.73745,0.73929,0.73729,0.73891,16853
AUD/USD,2018-07-27,13,0.73888,0.74083,0.73853,0.74066,0.73891,0.74083,0.73855,0.74075,14412
AUD/USD,2018-07-27,14,0.74066,0.74147,0.74025,0.74062,0.74075,0.74148,0.74026,0.74064,15187
AUD/USD,2018-07-27,15,0.74062,0.74112,0.74002,0.74084,0.74064,0.74114,0.74003,0.74086,10044
AUD/USD,2018-07-27,16,0.74084,0.74091,0.73999,0.74001,0.74086,0.74092,0.74,0.74003,6893
AUD/USD,2018-07-27,17,0.74001,0.74022,0.73951,0.74008,0.74003,0.74025,0.73952,0.74009,5865
AUD/USD,2018-07-27,18,0.74008,0.74061,0.74002,0.74046,0.74009,0.74062,0.74004,0.74047,4334
AUD/USD,2018-07-27,19,0.74046,0.74072,0.74039,0.74041,0.74047,0.74073,0.74041,0.74043,3654
AUD/USD,2018-07-27,20,0.74041,0.74066,0.74005,0.74011,0.74043,0.74068,0.74018,0.74023,1547
AUD/USD,2018-07-25,22,0.74438,0.74526,0.74436,0.74489,0.74442,0.7453,0.74439,0.74494,2220
AUD/USD,2018-07-25,23,0.74489,0.74612,0.74489,0.7459,0.74494,0.74612,0.74492,0.74592,4886
AUD/USD,2018-07-26,0,0.7459,0.74625,0.74536,0.74571,0.74592,0.74623,0.74536,0.74573,6602
AUD/USD,2018-07-26,1,0.74571,0.74633,0.74472,0.74479,0.74573,0.74634,0.74471,0.74481,10123
AUD/USD,2018-07-26,2,0.74479,0.74485,0.74375,0.74434,0.74481,0.74487,0.74378,0.74437,7844
AUD/USD,2018-07-26,3,0.74434,0.74459,0.74324,0.744,0.74437,0.74461,0.74328,0.744,6037
AUD/USD,2018-07-26,4,0.744,0.74428,0.74378,0.74411,0.744,0.7443,0.74379,0.74414,3757
AUD/USD,2018-07-26,5,0.74411,0.74412,0.74346,0.74349,0.74414,0.74414,0.74344,0.74349,5713
AUD/USD,2018-07-26,6,0.74349,0.74462,0.74291,0.74299,0.74349,0.74464,0.74293,0.743,12650
AUD/USD,2018-07-26,7,0.74299,0.74363,0.74267,0.74361,0.743,0.74363,0.74269,0.74362,8067
AUD/USD,2018-07-26,8,0.74361,0.74375,0.74279,0.74287,0.74362,0.74376,0.7428,0.74288,6988
AUD/USD,2018-07-26,9,0.74287,0.74322,0.74212,0.74318,0.74288,0.74323,0.74212,0.74319,7784
AUD/USD,2018-07-26,10,0.74318,0.74329,0.74249,0.74276,0.74319,0.74331,0.7425,0.74276,5271
AUD/USD,2018-07-26,11,0.74276,0.74301,0.74179,0.74201,0.74276,0.74303,0.7418,0.74199,7434
AUD/USD,2018-07-26,12,0.74201,0.74239,0.74061,0.74064,0.74199,0.74241,0.74063,0.74066,20513
AUD/USD,2018-07-26,13,0.74064,0.74124,0.73942,0.74008,0.74066,0.74124,0.73943,0.74005,19715
AUD/USD,2018-07-26,14,0.74008,0.74014,0.73762,0.73887,0.74005,0.74013,0.73764,0.73889,21137
AUD/USD,2018-07-26,15,0.73887,0.73936,0.73823,0.73831,0.73889,0.73936,0.73824,0.73833,11186
AUD/USD,2018-07-26,16,0.73831,0.73915,0.73816,0.73908,0.73833,0.73916,0.73817,0.73908,6016
AUD/USD,2018-07-26,17,0.73908,0.73914,0.73821,0.73884,0.73908,0.73917,0.73823,0.73887,6197
AUD/USD,2018-07-26,18,0.73884,0.73885,0.73737,0.73773,0.73887,0.73887,0.73737,0.73775,6127
AUD/USD,2018-07-26,19,0.73773,0.73794,0.73721,0.73748,0.73775,0.73797,0.73724,0.73751,3614
AUD/USD,2018-07-26,20,0.73748,0.73787,0.73746,0.73767,0.73751,0.7379,0.73748,0.73773,1801
AUD/USD,2018-07-26,21,0.73767,0.73807,0.73755,0.73762,0.73773,0.73836,0.73769,0.73772,1687
EN

回答 1

Stack Overflow用户

发布于 2019-07-16 21:29:21

若要将新列avg_market_price分配为平均值,请执行以下操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df = df.assign(avg_market_price=df[['openbid', 'highbid', 'lowbid', 'closebid',
   'openask', 'highask', 'lowask', 'closeask']].mean(axis=1))

然后,通过组合日期和时间字段,将索引设置为日期时间索引,然后将数据设置为每日时间段( 重采样 1d)。最后,使用apply获得特定列的最大值、最小值和平均值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy as np

>>> (df
     .set_index(df['date'] + pd.to_timedelta(df['hour'], unit='h'))
     .resample('1d')
     .apply({'highask': 'max', 'lowask': 'min', 'avg_market_price': np.mean}))
            highask   lowask  avg_market_price
2018-07-24  0.74300  0.74197          0.742402
2018-07-25  0.74643  0.73922          0.742142
2018-07-26  0.74634  0.73724          0.741239
2018-07-27  0.74148  0.73701          0.739011
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57068448

复制
相关文章
win7下锐捷无法找到网卡的解决方法
        身边很多同学和我一样,在windows7还没上市就已经安装了它。虽然win7给我们带来了全新的体验和感受,但是也存在一些小问题需要我们去解决。
reizhi
2022/09/26
1.5K0
win7下锐捷无法找到网卡的解决方法
解决VMware 7在Windows 7上无法上网的问题
Windows 7上的VPC不能安装64位的操作系统和Linux等,就安装了个VMware 7来解决我的这个问题,另一个问题出来了虚拟机里头的系统无法上网,通过Google找到一些方法,写的都不详细,这里记录下最完整的配置过程: 首先打开Windows 7的网络和共享中心,然后点左边的更改适配器设置,你会看到两个由VMware创建的虚拟连接,找到VMware Network Adapter VMnet1,记住它的连接名称。 然后右击你当前使用中的连接(比如我使用的是ADSL连接)选择属性,把全部的钩都打上,
张善友
2018/01/19
2.7K0
解决VMware 7在Windows 7上无法上网的问题
laravel访问路由在nginx服务器上无法处理
用过laravel的童鞋们都知道,访问路径一般都是/admin/index这样的形式,可是在nginx服务器上运行代码时却会出现无法找到页面的情况,这是因为nginx没有配置好。 在nginx的配置文件中找到以下代码: location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404.
NateHuang
2018/03/14
5.2K1
关于C ++:Cmake无法找到Boost库
boostc++cmake Cmake cannot find Boost libraries 我是Cmake的新手,并增强了C ++中的库。 我正在做一个需要boost和Cmake的项目。 我正在使用Cmake版本2.8.11,MS Visual Studio 2013和Boost 1.54.0。 当我尝试从Cmake配置时,出现以下错误:
用户3519280
2023/07/08
1.2K0
ALM在win7/IE8下无法浏览
被这个问题困扰过的同学有多少? ---- 操作系统WIN7 64位。 安装完ALM后,用IE8打开查看,没有登录界面,提示需要安装东西。 按照提示安装,没有响应,然后到网上查了一下资料: ALM/QC11.0在win8/IE11下无法浏览 页面显示要求安装插件,安装ALM-Platform Loader 11.msi 失败,提示 cannot be installed on windows xp/vista/windows7 x64。 UAC已关闭,bcd已关闭,浏览器安全级别最低,保护模式已取消勾选,证
张树臣
2018/05/15
1.1K0
VirtualBox克隆后无法找到网卡的问题
Virtualbox现在更新到了4.1.6版本,我记得在之前的版本中,镜像的克隆只能通过命令行的方式来进行,现在已经可以通过界面来进行克隆了,可以说非常的方便。
大江小浪
2018/07/25
1.3K0
VirtualBox克隆后无法找到网卡的问题
glui.h无法找到描述+解决+测试
GLUI 是一个基于 GLUT 的 C++ 用户界面库,它为 OpenGL 应用程序提供按钮、复选框、单选按钮和微调器等控件。它独立于窗口系统,使用 GLUT 或 FreeGLUT。
zhangrelay
2022/08/10
6230
glui.h无法找到描述+解决+测试
php – Laravel 7 Session Lifetime
如果它的时间少于Laravel配置,则cookie将被删除,因为本地php.ini优先于Laravel配置.
Lansonli
2021/10/09
1.1K0
无法为 WSDD 操作找到匹配的 Java 操作
我发现了错误。 只需要把“AndrQues”改成“andrQues”,程序就可以正常运行了。
matinal
2023/10/13
1690
PE盘装系统时无法找到ISO文件
用PE盘装系统时,在选择包含Windows安装文件的文件夹时,找不到ISO系统镜像映像,如图所示
全栈程序员站长
2022/09/12
6.2K0
PE盘装系统时无法找到ISO文件
Laravel 7发行说明
Laravel及官方发布的包皆遵循 语义版本化。主要框架版本每六个月发布一次 (~2月和~8月),而次要和补丁版本可能每周发布一次。次要版本和补丁 决不 包含非兼容性更改。
Lansonli
2021/10/09
9K0
成功解决python.exe 无法找到入口 无法定位程序输入点
问题描述:在新建的环境装了 FLAML 跑自动化机器学习,配置了 jupyter 有关依赖库和扩展,进入 jupyter notebook 就会弹出这个错误,但将其叉掉却又可以正常进入 jupyter notebook 调试代码。初步分析觉得应该是 dll 文件出了问题。看了一些网上的解决方案,如下所示:
叶庭云
2022/06/25
4.4K0
成功解决python.exe 无法找到入口 无法定位程序输入点
数据工厂平台-7:菜单和首页
上回我们成功的导入了第三方的菜单。虽然漂亮,功能多。但是也难免出现各种各样的问题:
我去热饭
2022/05/19
4680
数据工厂平台-7:菜单和首页
解决 IDEA 无法找到 java.util.Date 的问题
最近在项目中频繁使用到 java.util.Date,但是使用 IDEA 提示查找 Date 类,却无法找到 java.util.Date。
andyxh
2019/09/10
1.8K0
解决 IDEA 无法找到 java.util.Date 的问题
clover 引导无法扫描 找到windows系统解决办法[通俗易懂]
cmd下cd切换到系统盘盘符 如C: 挂载efi分区为S盘 执行bcdboot C:\Windows /s S: /f uefi /l zh-cn
全栈程序员站长
2022/07/23
1.6K0
Laravel 6.12.0 版本发布,支持从扩展包加载模型工厂
Laravel 开发团队本周发布了 6.12.0 版本,此次更新支持从扩展包加载模型工厂,通过 dump 函数测试 Session 数据,以及很多其他新特性。另外,这次更新还包含了很多第三方开发者贡献的、用于优化重复操作的语法糖,例如过滤请求输入字段中的非布尔值。
学院君
2020/02/19
7750
【Laravel】在企业级项目中使用Laravel框架中的工厂状态下的页面方法 Code Verifier以及错误处理
除了页面中已经定义的默认方法之外,还可以定义将在整个测试过程中使用的其他方法。 例如,如果我们正在开发音乐管理应用程序,我们可能需要一个公共方法来在应用程序中创建列表,而不是重写在每个页面和测试类中创建播放列表的逻辑。 此时,可以在页面类中定义createPlaylist方法:
上进小菜猪
2022/12/18
1.8K0
【Laravel】在企业级项目中使用Laravel框架中的工厂状态下的页面方法 Code Verifier以及错误处理
点击加载更多

相似问题

Laravel工厂国家-无法找到工厂

20

Laravel工厂无法找到名称为[默认]的工厂

20

Laravel 5.8工厂声明无法找到名称为[default] [CLASS]的工厂

114

Laravel 5.2:无法找到有名称的工厂[默认]

1716

无法在Tinker使用Laravel工厂

45
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文