Python:循环数据集并隔离低、高和其他数据

米普

使用 Python 3。我在 csv 文件中有一些日常财务数据并将文件加载到列表中:

               #date,            open,   high,   low,   close
price_data = [['2018-05-05',    '2.75', '2.05', '2.67', '2.92'],
              ['2018-05-08',    '2.93', '2.97', '2.79', '2.84'],
              ['2018-05-09',    '2.46', '2.74', '2.45', '2.69'],
              ['2018-05-10',    '2.69', '2.69', '2.21', '2.33']]

数据可以追溯到几年前。

我想从中制作月度数据:找到每个月的第一天,选择第一项(开盘),找到当月的最后一天,选择最后一项(收盘),然后找到最小值和第一个和最后一个日期之间的最大值。我想返回每个月的开盘价、最高价、最低价和收盘价。

但是,我的实现不足。

我正在遍历列表,发现月份何时递增,没问题。这很容易。打开也很容易。

然后,如果下一行的高点更大,我会选择高点和低点,但我将使用它。

trading_day_l = []
month_open_l = []
month_close_l = []
month_high_l = []
month_low_l = []
for i in range(2, len(price_data)):
    day = price_data[i][0].split('-')
    prev_day = price_data[i - 1][0].split('-')
    month = int(day[1])
    prev_month = int(prev_day[1])
       if month > prev_month or (month == 1 and prev_month == 12):  # First trading day.
          first_trading_day_date = price_data[i][0]
          trading_day_l.append(first_trading_day_date) #escape the data from loop
          month_open = price_data[i][1]
          month_open_l.append(month_open) #escape the data from loop
          month_high = price_data[i][2]
          month_low = price_data[i][3]
          month_close = price_data[i][4]
      #below fails I think:  
      if month == prev_month:
          if price_data[i][2] > price_data[i - 1][2]:
              month_high = price_data[i][2]
          if price_data[i][3] < price_data[i - 1][3]:
              month_low = price_data[i][3]

不过有些事情搞砸了,经过几个小时的努力和失败,我需要承认失败并寻求帮助。我错过了什么?

干杯!

这是我在评论中提到的熊猫方法。

import pandas as pd

通过某事将数据导入pandas数据帧后

df = pd.read_csv('/wherever/file/may/roam/filename', _some_kwargs_depending_on_your_csv_layout_)

您的数据结构如下:

In: df
Out: 
            open  high   low  close
2018-05-05  2.75  2.05  2.67   2.92
2018-05-08  2.93  2.97  2.79   2.84
2018-05-09  2.46  2.74  2.45   2.69
2018-05-10  2.69  2.69  2.21   2.33

然后,您可以重新采样您的时间索引,该索引每月汇总您的数据。要获得每月的值,您只需要说明您希望如何压缩数字 - 在您的情况下,您需要最小值和最大值:

In: df.resample('M').min()
Out: 
            open  high   low  close
2018-05-31  2.46  2.05  2.21   2.33

In: df.resample('M').max()
Out: 
            open  high   low  close
2018-05-31  2.93  2.97  2.79   2.92

但是,您还可以应用其他感兴趣的统计函数,例如sum(),mean()std()

In: df.resample('M').sum()
Out: 
             open   high    low  close
2018-05-31  10.83  10.45  10.12  10.78

In: df.resample('M').mean()
Out: 
              open    high   low  close
2018-05-31  2.7075  2.6125  2.53  2.695

In: df.resample('M').std()
Out: 
                open      high       low     close
2018-05-31  0.193972  0.394324  0.255604  0.261343

如果您想要所有列的每月最大值,您可以应用另一个 max() 函数,相对于另一个轴:

In: df.resample('M').max().apply(max, 1)
Out: 
2018-05-31    2.97

模拟与分钟:

In: df.resample('M').min().apply(min, 1)
Out: 
2018-05-31    2.05

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

tm:读入数据框,保留文本ID,构造DTM并加入其他数据集

来自分类Dev

RDF与其他数据集的互连

来自分类Dev

具有多个数据集和高/低错误条的gnuplot数据文件

来自分类Dev

在Python中使用嵌套字典-将两个数据集与一个共同的“键”和其他变量组合在一起

来自分类Dev

Redis保存会话和其他数据

来自分类Dev

如何替换R中其他数据集的值?

来自分类Dev

如何隔离列表项以执行其他数据操作?

来自分类Dev

BigQuery视图可以引用来自不同数据集/项目的其他表和视图吗?

来自分类Dev

计算同一行中开始和结束日期的平均温度(来自其他数据集)

来自分类Dev

依次浏览数据集,列和行,以基于其他单元格添加注释

来自分类Dev

SAS-根据其他数据集重命名变量

来自分类Dev

数据类型长-高和低是什么意思?

来自分类Dev

根据我现有的数据集生成其他随机数据样本

来自分类Dev

填写来自其他数据集的缺失数据的多列

来自分类Dev

无限数据集循环

来自分类Dev

显示文本数据框行,其中包含字符和空格(Python)以外的其他内容

来自分类Dev

在python中绘制几个熊猫数据框时如何设置图例和其他属性?

来自分类Dev

使用大型数据集优化循环Python

来自分类Dev

Kyoto2006 +数据集或其他标签网络/主机安全性数据集

来自分类Dev

tm:读入数据框,保留文本ID,构造DTM并加入其他数据集

来自分类Dev

高图表区域,其他数据标签上有数据标签

来自分类Dev

RDF与其他数据集的互连

来自分类Dev

如何替换R中其他数据集的值?

来自分类Dev

根据其他数据集的条件对变量进行分类

来自分类Dev

将数据表从一个数据集克隆到其他数据集的数据表

来自分类Dev

根据位置和其他数据选择

来自分类Dev

SAS-根据其他数据集重命名变量

来自分类Dev

如何在 Python 或 SQL 中使用连接或任何其他操作合并两个数据集/表

来自分类Dev

按值过滤数据集并用R中其他数据集中的值替换

Related 相关文章

  1. 1

    tm:读入数据框,保留文本ID,构造DTM并加入其他数据集

  2. 2

    RDF与其他数据集的互连

  3. 3

    具有多个数据集和高/低错误条的gnuplot数据文件

  4. 4

    在Python中使用嵌套字典-将两个数据集与一个共同的“键”和其他变量组合在一起

  5. 5

    Redis保存会话和其他数据

  6. 6

    如何替换R中其他数据集的值?

  7. 7

    如何隔离列表项以执行其他数据操作?

  8. 8

    BigQuery视图可以引用来自不同数据集/项目的其他表和视图吗?

  9. 9

    计算同一行中开始和结束日期的平均温度(来自其他数据集)

  10. 10

    依次浏览数据集,列和行,以基于其他单元格添加注释

  11. 11

    SAS-根据其他数据集重命名变量

  12. 12

    数据类型长-高和低是什么意思?

  13. 13

    根据我现有的数据集生成其他随机数据样本

  14. 14

    填写来自其他数据集的缺失数据的多列

  15. 15

    无限数据集循环

  16. 16

    显示文本数据框行,其中包含字符和空格(Python)以外的其他内容

  17. 17

    在python中绘制几个熊猫数据框时如何设置图例和其他属性?

  18. 18

    使用大型数据集优化循环Python

  19. 19

    Kyoto2006 +数据集或其他标签网络/主机安全性数据集

  20. 20

    tm:读入数据框,保留文本ID,构造DTM并加入其他数据集

  21. 21

    高图表区域,其他数据标签上有数据标签

  22. 22

    RDF与其他数据集的互连

  23. 23

    如何替换R中其他数据集的值?

  24. 24

    根据其他数据集的条件对变量进行分类

  25. 25

    将数据表从一个数据集克隆到其他数据集的数据表

  26. 26

    根据位置和其他数据选择

  27. 27

    SAS-根据其他数据集重命名变量

  28. 28

    如何在 Python 或 SQL 中使用连接或任何其他操作合并两个数据集/表

  29. 29

    按值过滤数据集并用R中其他数据集中的值替换

热门标签

归档