持续创作,加速生长!这是我参与「日新计划 10 月更文挑战」的第7天,点击检查活动概况
✔个人主页:Mr.Darcy8的主页
欢迎重视点赞收藏⭐留言以及交流人生哲理学习心得
前两天接着作业的兴致写了一篇pandas数据分析的文章,简要介绍了一下groupby这个函数的妙用,没想到竟然能被引荐,还是有点小激动的。估计的咱们更喜爱技术性强一些的文章而非操作细节多的文章吧?今日咱们再次暂停一期小白的实战专题,来看看pandas的时刻数据怎么处理。当然,如标题所述,咱们会来一些作图操作来添加文章的趣味性——
以及你们的学习的成就感\( ̄︶ ̄\),究竟可见的前进才是最吸引人的嘛~
一、时刻数据类型
关于这种数据类型,教科书般的官方解释是时刻序列是指在必定时刻内按时刻顺序测量的某个变量的取值序列。
了解起来并不困难,你能够幻想一下一个人一天的体温改变、一个买卖日中股市某指数的改变等。
在pandas中,最常见的数据类型是datetime
以及timedelta
。
二、datetime
顾名思义,datetime分为date和time两部分。
如2022-10-07 22:33:00便是一个datetime,表示的是一个详细的时刻戳。
下面咱们来界说一个时刻戳:
如上图。pandas自带的to_datetime
函数能够将一个字符串转化成时刻戳类型且这个功用比咱们幻想中强大,它能够转化各种格局的文本时刻戳
这里便是python这门言语的魅力了。作为一门高级言语,它尽管没有C言语的功率和速度,可是它有很大的包容性,你的全部或许的操作都被函数设计者考虑过一次了。说实在的,当今计算机硬件水平加持下,关于大多数的作业,低级言语的速度优势其实并不明显
to_datetime支持转化时刻序列,以列表形式传入即可。
三、界说时刻戳序列与周期的界说
这个很简单,你只需记住一一对应联系就行了:
m是月,d是天,w是星期,y是年
好吧,其实不必记,这些便是英文首字母罢了。
接下来咱们就能够模仿range函数的模式来界说一串以必定周期为距离的时刻数据了:
r = pd.date_range('1/10/2011', periods=10, freq='5y')#用这个月最终一天代表这个月
在实践的运用中,时刻戳往往作为索引存在,比方下面咱们创立一个以时刻戳为键的数据框:
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)
是不是看上去和谐许多了?
咱们只需求进行loc定位就能够提取到一天的数据了。十分方便
四、简易作图
我只能说,有这“简易”二字
那岂不是一句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方向的索引
来看看效果吧~
期待你们做的更美观的图表。
新人上路,欢迎互相帮扶~Mr_darcy8的主页
能够的话给咱点个赞呗