【Python数据分析】pandas时期period

目录

  • 1.pandas模块之period

    • 1.1 period创建时期
    • 1.2 period_range创建时期范围
    • 1.3 asfreq频率转换
    • 1.4 时间戳与日期之间转换

1.pandas模块之period

1.1 period创建时期

import pandas as pd
# pd.Period()创建时期

p = pd.Period('2017', freq = 'M')
print(p, type(p))
# 生成一个以2017-01开始,月为频率的时间构造器
# pd.Period()参数:一个时间戳 + freq 参数 → freq 用于指明该 period 的长度,时间戳则说明该 period 在时间轴上的位置

print(p + 1)
print(p - 2)
print(pd.Period('2020', freq = 'A-DEC') - 1) # A-月 DEC-12月
# 通过加减整数,将周期整体移动
# 这里是按照 月、年 移动

1.2 period_range创建时期范围

import pandas as pd
import numpy as np
# pd.period_range()创建时期范围

prng = pd.period_range('1/1/2011', '1/1/2012', freq='M')
print(prng,type(prng))
print(prng[0],type(prng[0]))
# 数据格式为PeriodIndex,单个数值为Period

ts = pd.Series(np.random.rand(len(prng)), index = prng)
print(ts,type(ts))
print(ts.index)
# 时间序列

# Period('2011', freq = 'A-DEC')可以看成多个时间期的时间段中的游标
# Timestamp表示一个时间戳,是一个时间截面;Period是一个时期,是一个时间段!!但两者作为index时区别不大

1.3 asfreq频率转换

# asfreq:频率转换
import pandas as pd
import numpy as np
p = pd.Period('2017','A-DEC')
print(p)
print(p.asfreq('M', how = 'start'))  # 也可写 how = 's'
print(p.asfreq('D', how = 'end'))  # 也可写 how = 'e'
# 通过.asfreq(freq, method=None, how=None)方法转换成别的频率

prng = pd.period_range('2017','2018',freq = 'M')
ts1 = pd.Series(np.random.rand(len(prng)), index = prng)
ts2 = pd.Series(np.random.rand(len(prng)), index = prng.asfreq('D', how = 'start'))
print(ts1.head(),len(ts1))
print(ts2.head(),len(ts2))
# asfreq也可以转换TIMESeries的index

1.4 时间戳与日期之间转换

import pandas as pd
import numpy as np
# 时间戳与时期之间的转换:pd.to_period()、pd.to_timestamp()

rng = pd.date_range('2017/1/1', periods = 10, freq = 'M')
prng = pd.period_range('2017','2018', freq = 'M')

ts1 = pd.Series(np.random.rand(len(rng)), index = rng)
print(ts1.head())
print(ts1.to_period().head())
# 每月最后一日,转化为每月

ts2 = pd.Series(np.random.rand(len(prng)), index = prng)
print(ts2.head())
print(ts2.to_timestamp().head())
# 每月,转化为每月第一天

原文地址:https://www.cnblogs.com/OliverQin/p/12284039.html

时间: 2024-11-10 04:59:02

【Python数据分析】pandas时期period的相关文章

Python数据分析--Pandas知识点(二)

本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘. Python数据分析--Pandas知识点(一) 下面将是在知识点一的基础上继续总结. 13. 简单计算 新建一个数据表df 1 import pandas as pd 2 3 df = pd.DataFrame({"地区": ["A区","B区", "C区"], 4 "前半年销量": [3500, 4500,3800], 5

Python数据分析--Pandas知识点(三)

本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘. Python数据分析--Pandas知识点(一) Python数据分析--Pandas知识点(二) 下面将是在知识点一, 二的基础上继续总结. 前面所介绍的都是以表格的形式中展现数据, 下面将介绍Pandas与Matplotlib配合绘制出折线图, 散点图, 饼图, 柱形图, 直方图等五大基本图形. Matplotlib是python中的一个2D图形库, 它能以各种硬拷贝的格式和跨平台的交互式环境生成高质量的图形,

Python数据分析 Pandas模块 基础数据结构与简介(一)

pandas 入门 简介 pandas 组成 = 数据面板 + 数据分析工具 poandas 把数组分为3类 一维矩阵:Series 把ndarray强大在可以存储任意数据类型可以专门处理时间数据 二维矩阵:DataFrame 三维面板数据:Panel 背景:为金融产品数据分析创建的,对时间序列支持非常好! 数据结构 导入pandas模块 import pandas as pd 读取csv文件,数据类型就是二维矩阵 DataFrame df = pd.read_csv('路径')type(df)

Python数据分析-Pandas

在学习了Numpy后,进行数据科学计算,为何还要使用Pandas呢?其实原因就是效率高,那为何Pandas效率比numpy要高呢?其实Pandas和Numpy还是有着很大的关系的,Pandas本身是依赖numpy的,而ndarray在内存里占据这一段连续的内存空间,任何改变ndarray长度的操作都势必让所有value改变内存中的位置因此在某种程度上,Numpy操作效率还是比较慢的.但是Pandas并不是处理所有的数据都是效率很高的,那么一般情况下处理以下的数据比较友好: Pandas适合处理多

python数据分析pandas中的DataFrame数据清洗

pandas中的DataFrame中的空数据处理方法: 方法一:直接删除 1.查看行或列是否有空格(以下的df为DataFrame类型,axis=0,代表列,axis=1代表行,以下的返回值都是行或列索引加上布尔值)• isnull方法 • 查看行:df.isnull().any(axis=1)  • 查看列:df.isnull().any(axis=0)• notnull方法:• 查看行:df.notnull().all(axis=1)• 查看列:df.notnull().all(axis=0

Python数据分析与挖掘所需的Pandas常用知识

Python数据分析与挖掘所需的Pandas常用知识 前言Pandas基于两种数据类型:series与dataframe.一个series是一个一维的数据类型,其中每一个元素都有一个标签.series类似于Numpy中元素带标签的数组.其中,标签可以是数字或者字符串.一个dataframe是一个二维的表结构.Pandas的dataframe可以存储许多种不同的数据类型,并且每一个坐标轴都有自己的标签.你可以把它想象成一个series的字典项. Pandas常用知识 一.读取csv文件为dataf

《Python 数据分析》笔记——pandas

Pandas pandas是一个流行的开源Python项目,其名称取panel data(面板数据)与Python data analysis(Python 数据分析)之意. pandas有两个重要的数据结构:DataFrame和Series pandas数据结构之DataFrame pandas的DataFrame数据结构是一种带标签的二维对象,与Excel的电子表格或者关系型数据表非常相似. 可以用下列方式来创建DataFrame: 1.从另一个DataFrame创建DataFrame 2.

利用Python进行数据分析——pandas入门

利用Python进行数据分析--pandas入门 基于NumPy建立的 from pandas importSeries,DataFrame,import pandas as pd 一.两种数据结构 1.Series 类似于Python的字典,有索引和值 创建Series #不指定索引,默认创建0-N In [54]: obj = Series([1,2,3,4,5]) In [55]: obj Out[55]: 0 1 1 2 2 3 3 4 4 5 dtype: int64 #指定索引 In

基于 Python 和 Pandas 的数据分析(2) --- Pandas 基础

在这个用 Python 和 Pandas 实现数据分析的教程中, 我们将明确一些 Pandas 基础知识. 加载到 Pandas Dataframe 的数据形式可以很多, 但是通常需要能形成行和列的数据集. 所以可以是如下的 dictionary 的形式: web_stats = {'Day':[1,2,3,4,5,6], 'Visitors':[43,34,65,56,29,76], 'Bounce Rate':[65,67,78,65,45,52]} 我们可以通过如下方式把这个 dictio