Pandas时间数据处理与简单作图

简介: 前两天接着作业的兴致写了一篇pandas数据分析的文章,简要介绍了一下groupby这个函数的妙用,没想到居然能被推荐,还是有点小激动的。估计掘金的大家更喜欢技术性强一些的文章而非操作细节多的文章吧?今天我们再次暂停一期小白的实战专题,来看看pandas的时间数据如何处理。当然,如标题所述,我们会来一些作图操作来增加文章的趣味性——


前两天接着作业的兴致写了一篇pandas数据分析的文章,简要介绍了一下groupby这个函数的妙用,没想到居然能被推荐,还是有点小激动的。估计掘金的大家更喜欢技术性强一些的文章而非操作细节多的文章吧?今天我们再次暂停一期小白的实战专题,来看看pandas的时间数据如何处理。当然,如标题所述,我们会来一些作图操作来增加文章的趣味性——

以及你们的学习的成就感\( ̄︶ ̄\),毕竟可见的进步才是最吸引人的嘛~


一、时间数据类型


对于这种数据类型,教科书般的官方解释是时间序列是指在一定时间内按时间顺序测量的某个变量的取值序列。

理解起来并不困难,你可以想象一下一个人一天的体温变化、一个交易日中股市某指数的变化等。

在pandas中,最常见的数据类型是datetime以及timedelta


二、datetime


顾名思义,datetime分为date和time两部分。

如2022-10-07 22:33:00就是一个datetime,表示的是一个具体的时间戳。

下面我们来定义一个时间戳:

image.png

如上图。pandas自带的to_datetime函数可以将一个字符串转化成时间戳类型且这个功能比我们想象中强大,它可以转化各种格式的文本时间戳

这里就是python这门语言的魅力了。作为一门高级语言,它虽然没有C语言的效率和速度,但是它有很大的包容性,你的一切可能的操作都被函数设计者考虑过一次了。说实在的,当今计算机硬件水平加持下,对于大多数的工作,低级语言的速度优势其实并不明显

to_datetime支持转化时间序列,以列表形式传入即可。

image.png


三、定义时间戳序列与周期的定义


这个很简单,你只要记住一一对应关系就行了:

m是月,d是天,w是星期,y是年
复制代码

好吧,其实不用记,这些就是英文首字母而已。

接下来我们就可以仿照range函数的模式来定义一串以一定周期为间隔的时间数据了:

r = pd.date_range('1/10/2011', periods=10, freq='5y')#用这个月最后一天代表这个月

image.png

在实际的使用中,时间戳往往作为索引存在,比如下面我们创建一个以时间戳为键的数据框:

rng = pd.date_range('2019-01-01', periods=16, freq='D')
f1=pd.DataFrame({"a":np.random.randint(0,10,size=(len(rng))),"b":np.random.randint(0,10,size=(len(rng)))}, index=rng)

image.png

是不是看上去和谐许多了?

我们只需要进行loc定位就可以提取到一天的数据了。非常方便

image.png

四、简易作图


我只能说,有这“简易”二字

那岂不是一句plot走天下?

series.plot(kind="bar")
复制代码

你就可以得到series的条形图了。

通过设定kind里的参数,你可以作出你想要的图表

这里采自官方文档,罗列一个kind表:

‘line’ : line plot (default)#折线图

‘bar’ : vertical bar plot#条形图

‘barh’ : horizontal bar plot#横向条形图

‘hist’ : histogram#柱状图

‘box’ : boxplot#箱线图

‘kde’ : Kernel Density Estimation plot#Kernel 的密度估计图,主要对柱状图添加Kernel 概率密度线

‘density’ : same as ‘kde’ ‘area’ : area plot

‘pie’ : pie plot#饼图

‘scatter’ : scatter plot#散点图 需要传入columns方向的索引

来看看效果吧~


image.png

image.png

image.png

image.png

期待你们做的更好看的图表。

相关文章
|
1月前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
75 0
|
3月前
|
数据采集 数据可视化 数据挖掘
Pandas函数大合集:数据处理神器一网打尽!
Pandas函数大合集:数据处理神器一网打尽!
48 0
|
3月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
103 0
|
1月前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
45 2
|
7月前
|
数据可视化 数据挖掘 数据处理
进阶 pandas DataFrame:挖掘高级数据处理技巧
【5月更文挑战第19天】本文介绍了Pandas DataFrame的高级使用技巧,包括数据重塑(如`pivot`和`melt`)、字符串处理(如提取和替换)、日期时间处理(如解析和时间序列操作)、合并与连接(如`merge`和`concat`),以及使用`apply()`应用自定义函数。这些技巧能提升数据处理效率,适用于复杂数据分析任务。推荐进一步学习和探索Pandas的高级功能。
|
2月前
|
并行计算 大数据 数据处理
亿级数据处理,Pandas的高效策略
在大数据时代,数据量的爆炸性增长对处理技术提出更高要求。本文介绍如何利用Python的Pandas库及其配套工具高效处理亿级数据集,包括:采用Dask进行并行计算,分块读取以减少内存占用,利用数据库进行复杂查询,使用内存映射优化Pandas性能,以及借助PySpark实现分布式数据处理。通过这些方法,亿级数据处理变得简单高效,助力我们更好地挖掘数据价值。
116 1
|
2月前
|
机器学习/深度学习 并行计算 大数据
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
98 3
|
7月前
|
数据处理 索引 Python
使用pandas的merge()和join()函数进行数据处理
使用pandas的merge()和join()函数进行数据处理
123 2
|
3月前
|
数据采集 数据挖掘 数据处理
Pandas实践:南京地铁数据处理分析
Pandas实践:南京地铁数据处理分析
45 2
|
4月前
|
数据采集 数据挖掘 数据处理
解锁Python数据分析新技能!Pandas实战学习,让你的数据处理能力瞬间飙升!
【8月更文挑战第22天】Python中的Pandas库简化了数据分析工作。本文通过分析一个金融公司的投资数据文件“investment_data.csv”,介绍了Pandas的基础及高级功能。首先读取并检查数据,包括显示前几行、列名、形状和数据类型。随后进行数据清洗,移除缺失值与重复项。接着转换日期格式,并计算投资收益。最后通过分组计算平均投资回报率,展示了Pandas在数据处理与分析中的强大能力。
50 0
下一篇
DataWorks