首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 算法交易秘籍(一)

以下是本章的食谱列表: 创建日期时间对象 创建时间差对象 对日期时间对象进行操作 修改日期时间对象 将日期时间转换为字符串 从字符串创建日期时间对象 日期时间对象和时区...还有更多 您可以使用datetime对象的date()和time()方法提取日期和时间信息,分别作为datetime.date和datetime.time类的实例: 使用date()方法从dt1中提取日期...这将返回另一个timedelta对象,其中包含9 天的时间差值,这是由td1和td2持有的时间差值的总和。在步骤 5中,您将td2从td1中减去。...从字符串创建 datetime 对象 此配方演示了将格式良好的字符串转换为datetime对象。这在从文件中读取时间戳时很有用。...如何做… 执行此配方的以下步骤: 从 Python 标准库中导入必要的模块: >>> from datetime import datetime 创建一个包含日期、时间和时区的时间戳的字符串表示形式。

79450

数据分析与数据挖掘 - 07数据处理

它不仅仅包含各种数据处理的方法,也包含了从多种数据源中读取数据的方法,比如Excel、CSV等,这些我们后边会讲到,让我们首先从Pandas的数据类型开始学起。...Pandas一共包含了两种数据类型,分别是Series和DataFrame,我们先来学习一下Series类型。...obj = pd.Series([1, 2, 3, 4, 5, 6]) print(obj) print(obj.index) # 获取索引 print(obj.values) # 获取值 在打印结果中一共呈现出两列的内容...) # 字典的key就是Series对象中的索引值,字典中的value就是Series对象中的值 print(obj['a']) # 访问到索引值为a的对象的值 2 DataFrame类型 DataFrame...(type(data)) 以上结果需要你注意的是返回值的类型,全部都是DataFrame,也就是说后边我们使用到的DataFrame的方法都适合来处理这些从文件中读取出来的数据。

2.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    时间序列

    一、获取当前时刻的时间 1.返回当前时刻的日期和时间 from datetime import datetime #返回当前时刻的日期和时间 datetime.now() #datetime.datetime...因为时间也是有大小关系的,所以可通过索引方式中的布尔索引来对非索引列的时间进行选取。...) Python中两个时间做差会返回一个 timedelta 对象,该对象包含天数、秒、微秒三个等级,若是要获取小时、分钟,则需要进行换算。...#因为timedelta 对象包含天数、秒、微秒这三个等级,所以可通过属性获取出来 cha.days #获取天数的时间差 #1 cha.seconds #获取秒的时间差...Python中实现时间偏移的方式有两种: 第一种借助 timedelta(该对象包含天数、秒、微秒三个等级,所以只能偏移天数、秒、微秒单位的时间) 第二种是用Pandas中的日期偏移量(date offset

    2K10

    Pandas入门2

    经过第6步之后,为什么原来的dataframe数据中Mjob和Fjob列的数据仍然是小写的?...7.1 Python标准库 包含用于日期(date)和时间(time)数据的数据类型,而且还有日历方面的功能。主要使用datetime、 time、 calendar模块。...datetime.datetime也是用的最多的数据类型。 datetime以毫秒形式存储日期和时间,datetime.timedelta表示两个datetime对象之间的时间差。 ?...image.png 7.2 日期时间类与字符串相互转换 使用datetime模块中的datatime对象的strftime方法将时间转换为字符串,需要1个参数,参数为字符串格式。...image.png 7.3 Pandas中的时间序列 pandas通常是用于处理成组日期的,不管这个日期是DataFrame的轴索引还是列。to_datetime方法可以解析多种不同的日期表示形式。

    4.2K20

    Python时间序列分析苹果股票数据:分解、平稳性检验、滤波器、滑动窗口平滑、移动平均、可视化

    创建瞬时 日期、日期时间和时间都是单独的类,我们可以通过多种方式创建它们,包括直接创建和通过字符串解析。...属性 描述 Series.dt.date 返回包含Python datetime.date对象的numpy数组(即,没有时区信息的时间戳的日期部分)。...并不是所有的时间序列必须呈现趋势或模式,它们也可能完全是随机的。 除了高频变动(如季节性和噪声)外,时间序列数据通常还会呈现渐变的变异性。通过在不同时间尺度上进行滚动平均可以很容易地可视化这些趋势。...趋势平稳:不呈现趋势。 季节平稳:不呈现季节性。 严格平稳:数学定义的平稳过程。 在一个平稳的时间序列中,时间序列的均值和标准差是恒定的。此外,没有季节性、周期性或其他与时间相关的结构。...如何处理非平稳时间序列 如果时间序列中存在明显的趋势和季节性,可以对这些组成部分进行建模,将它们从观测值中剔除,然后在残差上训练模型。 去趋势化 有多种方法可以从时间序列中去除趋势成分。

    67600

    Pandas 2.2 中文官方教程和指南(十·一)

    在解析重复日期字符串时可能会产生显著的加速,特别是带有时区偏移的日期字符串。 迭代 迭代器布尔值,默认为False 返回用于迭代或使用get_chunk()获取块的TextFileReader对象。...parse_dates关键字可用于指定要从中解析日期和/或时间的列的组合。...如果您的 CSV 文件包含具有混合时区的列,则默认结果将是一个对象类型的列,其中包含字符串,即使使用 parse_dates 也是如此。...: 每次写入的行数 date_format: 日期时间对象的格式字符串 写入格式化字符串 DataFrame 对象有一个实例方法 to_string,允许控制对象的字符串表示。...这包含 pandas 模式的版本,并将随每个修订版递增。 在序列化时,所有日期都转换为 UTC。即使是时区无关的值,也被视为具有偏移量为 0 的 UTC 时间。

    35000

    地理空间数据的时间序列分析

    它在气象研究中也很有用,可以帮助我们理解天气模式的时空变化(我将很快使用降雨数据演示一个这样的案例研究)。社会和经济科学在理解时间和空间现象的动态方面也极大受益,例如人口、经济和政治模式。...这个过程很简单:我们将循环遍历每个图像,读取像素值并将它们存储在一个列表中。 我们将另外在另一个列表中跟踪日期信息。我们从哪里获取日期信息?...), columns = ['date', 'rainfall_mm']) df.head() 现在我们有了一个pandas数据框,但请注意,“日期”列中的值是字符串,pandas尚不知道它代表日期...() df['date'].info() 现在数据框是一个日期时间对象。...将日期列设置为索引也是一个好主意。这有助于按不同日期和日期范围切片和过滤数据,并使绘图任务变得容易。我们首先将日期排序到正确的顺序,然后将该列设置为索引。

    25010

    Pandas 2.2 中文官方教程和指南(十·二)

    你可以在程序中使用这个方法来获取对象中的行数。...不支持重复的列名和非字符串的列名 不支持对象数据类型列中的实际 Python 对象。在尝试序列化时,这些将引发一个有用的错误消息。 查看完整文档。...当你将这个文件加载到DataFrame中时,这将创建一个只包含两个预期列a和b的 Parquet 文件。...SPSS 文件包含列名。默认情况下,整个文件被读取,分类列被转换为pd.Categorical,并返回一个包含所有列的DataFrame。 指定usecols参数以获取列的子集。...如果您的 CSV 文件包含具有混合时区的列,则默认结果将是一个对象 dtype 列,其中包含字符串,即使使用parse_dates也是如此。

    35400

    【精心解读】用pandas处理大数据——节省90%内存消耗的小贴士

    pandas已经为我们自动检测了数据类型,其中包括83列数值型数据和78列对象型数据。对象型数据列用于字符串或包含混合数据类型的列。...我们先选择其中一个object列,开看看将其转换成类别类型会发生什么。这里我们选用第二列:day_of_week。 我们从上表中可以看到,它只包含了7个唯一值。...因此,将其转换成datetime会占用原来两倍的内存,因为datetime类型是64位比特的。将其转换为datetime的意义在于它可以便于我们进行时间序列分析。...dtype参数接受一个以列名(string型)为键字典、以Numpy类型对象为值的字典。 首先,我们将每一列的目标类型存储在以列名为键的字典中,开始前先删除日期列,因为它需要分开单独处理。...现在我们使用这个字典,同时传入一些处理日期的参数,让日期以正确的格式读入。 通过对列的优化,我们是pandas的内存用量从861.6兆降到104.28兆,有效降低88%。

    8.7K50

    Pandas 学习手册中文第二版:11~15

    以下内容演示了在连接过程中两个DataFrame对象的对齐方式,其中有共同的列(a和c)和不同的列(df1中的b和df2中的d) : [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传...1和2,因此生成的DataFrame具有两行,其中包含这些值和索引中的标签。...为了说明这一点,下面的代码创建一个DataFrame,其中Label列带有两个值(A和B),以及一个Values列,其中包含整数序列,但其中一个值替换为NaN。...日期时间,日期和时间对象 datetime对象是datetime库的一部分,而不是 Pandas 的一部分。...在前面的示例中,.plot()确定Series包含其索引的日期,因此 x 轴应设置为日期格式。 它还为数据选择默认颜色。 绘制一些数据所产生的结果与使用单列呈现DataFrame相似。

    3.4K20

    Python 数据分析(PYDA)第三版(五)

    在过程的第一阶段中,包含在 pandas 对象中的数据,无论是 Series、DataFrame 还是其他形式,都根据您提供的一个或多个键被分割成组。分割是在对象的特定轴上执行的。...表 11.1:datetime模块中的类型 类型 描述 date 使用公历存储日期(年,月,日) time 以小时,分钟,秒和微秒存储一天中的时间 datetime 存储日期和时间 timedelta...两个datetime值之间的差异(以天,秒和微秒计) tzinfo 存储时区信息的基本类型 在字符串和日期时间之间转换 您可以使用str或strftime方法对datetime对象和 pandas 的...999999) %j 一年中的日期作为零填充的整数(从 001 到 336) %w 星期几作为整数[0(星期日),6] %u 从 1 开始的星期几整数,其中 1 是星期一。...请参考 Table 11.4 以获取 pandas 中可用的频率代码和日期偏移类的列表。

    17900

    Pandas DateTime 超强总结

    基本上是为分析金融时间序列数据而开发的,并为处理时间、日期和时间序列数据提供了一整套全面的框架 今天我们来讨论在 Pandas 中处理日期和时间的多个方面,具体包含如下内容: Timestamp 和...所以我们可以使用所有适用于 Timestamp 对象的方法和属性 创建时间序列数据框 首先,让我们通过从 CSV 文件中读取数据来创建一个 DataFrame,该文件包含与连续 34 天每小时记录的 50...、总内存使用量、每列的数据类型等 根据上面的信息,datetime 列的数据类型是对象,这意味着时间戳存储为字符串值。...pandas to_datetime() 方法将存储在 DataFrame 列中的日期/时间值转换为 DateTime 对象。将日期/时间值作为 DateTime 对象使操作它们变得更加容易。...,其中 datetime 列的数据类型是 DateTime 对象 下面让我们对 datetime 列应用一些基本方法 首先,让我们看看如何在 DataFrame 中返回最早和最晚的日期。

    5.6K20

    Pandas创建DataFrame对象的几种常用方法

    生成后面创建DataFrame对象时用到的日期时间索引: ? 创建DataFrame对象,索引为2013年每个月的最后一天,列名分别是A、B、C、D,数据为12行4列随机数。 ?...创建DataFrame对象,索引与列名与上面的代码相同,数据为12行4列1到100之间的随机数。 ?...根据字典来创建DataFrame对象,字典的“键”作为DataFrame对象的列名,其中B列数据是使用pandas的date_range()函数生成的日期时间,C列数据来自于使用pandas的Series...下面图中的代码与上面代码的不同在于,C列使用index属性修改了整个DataFrame对象的索引。上面代码使用数字做索引,下面的代码使用字符串做索引。 ?...除此之外,还可以使用pandas的read_excel()和read_csv()函数从Excel文件和CSV文件中读取数据并创建DateFrame对象,后面会单独进行介绍。

    3.6K80

    为时间序列分析准备数据的一些简单的技巧

    但是对于那些刚刚学习TSA的人来说,找到正确的数据集可能是一项繁重的任务。 实际上有相当多的数据源。一些随机器学习库而来的数据集——它们被称为玩具数据——已经存在很长时间了。...记住,我们还不知道它是否是一个时间序列对象,我们只知道它是一个具有两列的dataframe。 df.info() ? 这个摘要确认了它是一个包含两列的panda dataframe。...第一列是一个对象,第二列是一个整数。 它不显示任何时间维度,这是因为Month列存储为字符串。因此,我们需要将其转换为datetime格式。...最后一个好的实践是从datetime索引中提取年份、月份和工作日,并将它们存储在单独的列中。这给了一些额外的灵活性,“分组”数据根据年/月等,如果需要。...总之,我们已经做了一些事情来将我们的数据转换成一个时间序列对象: 1)将Month列从字符串转换为datetime; 2)将转换后的datetime列设置为索引; 3)从索引中提取年、月、日,并存储在新列中

    84430

    用Pandas和Streamlit对时间序列数据集进行可视化过滤

    介绍 我们每天处理的数据最多的类型可能是时间序列数据。基本上,使用日期,时间或两者同时索引的任何内容都可以视为时间序列数据集。在我们工作中,可能经常需要使用日期和时间本身来过滤时间序列数据。...根据任何其他形式的索引过滤dataframe是一件相当麻烦的任务。尤其是当日期和时间在不同的列中时。...在此应用程序中,我们将使用Pandas从CSV文件读取/写入数据,并根据选定的开始和结束日期/时间调整数据框的大小。...,请使用“pip install”,例如以下命令 pip install streamlit 数据集 我们将使用随机生成的数据集,它有一个日期、时间和值的列,如下所示。...max if a time value(一个支持的类型或一个元组/支持的类型列表或None) -滑块第一次呈现时的值。如果在这里传递一个包含两个值的元组/列表,则会呈现一个带有上下边界的范围滑块。

    2.6K30

    Pandas使用技巧:如何将运行内存占用降低90%!

    pandas 会自动为我们检测数据类型,发现其中有 83 列数据是数值,78 列是 object。object 是指有字符串或包含混合数据类型的情况。...但这对我们原有 dataframe 的影响并不大,因为其中的整型列非常少。 让我们对其中的浮点型列进行一样的操作。...数值存储与字符串存储的比较 object 类型表示使用 Python 字符串对象的值,部分原因是 NumPy 不支持缺失(missing)字符串类型。...object 列中的每个元素实际上都是一个指针,包含了实际值在内存中的位置的「地址」。 下面这幅图给出了以 NumPy 数据类型存储数值数据和使用 Python 内置类型存储字符串数据的方式。...首先,我们可将每一列的最终类型存储在一个词典中,其中键值表示列名称,首先移除日期列,因为日期列需要不同的处理方式。

    3.7K20

    实操 | 内存占用减少高达90%,还不用升级硬件?没错,这篇文章教你妙用Pandas轻松处理大规模数据

    对象列(object columns)主要用于存储字符串,包含混合数据类型。为了更好地了解怎样减少内存的使用量,让我们看看 Pandas 是如何将数据存储在内存中的。...比较数字和字符串的存储方式 对象类型代表了 Python 字符串对象的值,部分原因是 NumPy 缺少对字符串值的支持。...对象列表中的每一个元素都是一个指针(pointer),它包含了实际值在内存中位置的“地址”。...回到我们的类型表,里面有一个日期(datetime)类型可以用来表示数据集的第一列。 你可能记得这一列之前是作为整数型读取的,而且已经被优化为 uint32。...现在,我们可以使用字典、以及几个日期的参数,通过几行代码,以正确的类型读取日期数据。

    3.7K40
    领券