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

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

相关文章
|
12天前
|
数据采集 数据可视化 数据挖掘
Pandas函数大合集:数据处理神器一网打尽!
Pandas函数大合集:数据处理神器一网打尽!
27 0
|
13天前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
33 0
|
2天前
|
机器学习/深度学习 并行计算 大数据
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
【Python篇】深入挖掘 Pandas:机器学习数据处理的高级技巧
22 3
|
5月前
|
数据可视化 数据挖掘 数据处理
进阶 pandas DataFrame:挖掘高级数据处理技巧
【5月更文挑战第19天】本文介绍了Pandas DataFrame的高级使用技巧,包括数据重塑(如`pivot`和`melt`)、字符串处理(如提取和替换)、日期时间处理(如解析和时间序列操作)、合并与连接(如`merge`和`concat`),以及使用`apply()`应用自定义函数。这些技巧能提升数据处理效率,适用于复杂数据分析任务。推荐进一步学习和探索Pandas的高级功能。
|
12天前
|
数据采集 数据挖掘 数据处理
Pandas实践:南京地铁数据处理分析
Pandas实践:南京地铁数据处理分析
20 2
|
5月前
|
数据处理 索引 Python
使用pandas的merge()和join()函数进行数据处理
使用pandas的merge()和join()函数进行数据处理
94 2
|
2月前
|
数据采集 数据挖掘 数据处理
解锁Python数据分析新技能!Pandas实战学习,让你的数据处理能力瞬间飙升!
【8月更文挑战第22天】Python中的Pandas库简化了数据分析工作。本文通过分析一个金融公司的投资数据文件“investment_data.csv”,介绍了Pandas的基础及高级功能。首先读取并检查数据,包括显示前几行、列名、形状和数据类型。随后进行数据清洗,移除缺失值与重复项。接着转换日期格式,并计算投资收益。最后通过分组计算平均投资回报率,展示了Pandas在数据处理与分析中的强大能力。
39 0
|
3月前
|
机器学习/深度学习 数据采集 大数据
驾驭大数据洪流:Pandas与NumPy在高效数据处理与机器学习中的核心作用
【7月更文挑战第13天】在大数据时代,Pandas与NumPy是Python数据分析的核心,用于处理复杂数据集。在一个电商销售数据案例中,首先使用Pandas的`read_csv`加载CSV数据,通过`head`和`describe`进行初步探索。接着,数据清洗涉及填充缺失值和删除异常数据。然后,利用`groupby`和`aggregate`分析销售趋势,并用Matplotlib可视化结果。在机器学习预处理阶段,借助NumPy进行数组操作,如特征缩放。Pandas的数据操作便捷性与NumPy的数值计算效率,共同助力高效的数据分析和建模。
62 3
|
3月前
|
机器学习/深度学习 数据采集 数据处理
重构数据处理流程:Pandas与NumPy高级特性在机器学习前的优化
【7月更文挑战第14天】在数据科学中,Pandas和NumPy是数据处理的关键,用于清洗、转换和计算。用`pip install pandas numpy`安装后,Pandas的`read_csv`读取数据,`fillna`处理缺失值,`drop`删除列。Pandas的`apply`、`groupby`和`merge`执行复杂转换。NumPy加速数值计算,如`square`进行向量化操作,`dot`做矩阵乘法。结合两者优化数据预处理,提升模型训练效率和效果。
49 1
|
3月前
|
数据采集 机器学习/深度学习 数据处理
从基础到卓越:Pandas与NumPy在复杂数据处理中的实战策略
【7月更文挑战第14天】Pandas与NumPy在数据科学中的核心应用:**加载数据(如`read_csv`)、探索(`head()`, `info()`, `describe()`)、数据清洗(`fillna`, `dropna`, `replace`, `apply`)、数值计算(借助NumPy的`ndarray`)、分组聚合(`groupby`与聚合函数)、窗口函数(如`rolling`)和数据筛选排序(布尔索引,`query`,`sort_values`)。通过这些工具,实现从数据预处理到复杂分析的高效处理。
47 0