17. Series.dt.month-提取日期数据中的月份信息

【目录】

文章目录

  • 17. Series.dt.month-提取日期数据中的月份信息
    • 1. 知识回顾-创建一个Series对象
    • 2. 知识回顾-pd.to_datetime()将数据转换为pandas中的日期时间格式
    • 3. 实例化类相关知识
    • 4. Series.dt.month是什么?
    • 5. 如何使用Series.dt.month?
    • 6. Series.dt.month的语法
    • 7. 返回值
    • 8. 实操练习
    • 9. 总结

【正文】

17. Series.dt.month-提取日期数据中的月份信息

学习时间:30分钟。

1. 知识回顾-创建一个Series对象

  • pandas库的核心数据结构是两种类型的数据对象:Series对象和DataFrame对象。
  • Series对象是一维数组。
  • DataFrame对象是二维数组。

创建一个Series对象:

【语法】

pd.Series(data, index)

【参数】

  • pd是库名。
  • .英文小圆点。库名后接一个小圆点表示调用。
  • Series类名。
  • data是必需参数,表示要传递的数据。
  • index是可选参数,用于自定义行索引。

【课堂练习】

创建一个Series对象,存储以下3个数据:
2021-01-01
2022-02-02
2023-03-03

【代码示例】

# 导入pandas库并简写为pd
import pandas as pd data =['2021-01-01', '2022-02-02', '2023-03-03']s1 = pd.Series(data)
print(s1)

【终端输出】

0    2021-01-01
1    2022-02-02
2    2023-03-03
dtype: object

【备注】

以上知识点可以参加下面的链接:

2. Series对象-一维数据

学习就是一个从陌生到熟悉的过程,重复的次数多了,它就是你的了。

2. 知识回顾-pd.to_datetime()将数据转换为pandas中的日期时间格式

【作用】

pd.to_datetime()函数是pandas库中的一个函数,用于将输入的日期时间转换为pandas中的日期时间格式。

【语法】

pd.to_datetime(arg, format)
  • pd库名,是pandas库的简写。
  • 英文小圆点.
  • to_datetime函数名,理解为转换成日期格式的函数。

【参数】

  • arg :需要转换为日期时间格式的参数,可以是字符串、列表、数组、Series、DataFrame等。
  • format:可选参数,默认值为None,表示输入日期时间的格式。如果不指定,则会尝试自动推断格式。

【课堂练习】

将上面的Series对象转换为日期格式。

【代码示例】

# 导入pandas库并简写为pd
import pandas as pd data =['2021-01-01', '2022-02-02', '2023-03-03']# pd.Series(data, index)创建一个Series对象
s1 = pd.Series(data)# pd.to_datetime(arg, format)转换为日期时间格式
data = pd.to_datetime(s1)print(data)

【终端输出】

0   2021-01-01
1   2022-02-02
2   2023-03-03
dtype: datetime64[ns]

3. 实例化类相关知识

在面向对象编程中,类是一个模板,而对象则是根据这个模板创建出来的具体实体。

通过实例化,我们可以使用类中定义的属性和方法来完成相应的操作。

【创建对象语法】

对象名 = 类名()

  • 等号的左边是我们给创建对象起的名字。

  • 等号右边写类名,表示这个对象是根据这个类生产出来的。

  • 类名后紧跟一对英文圆括号( )

【查看对象属性语法】

对象名.属性名

属性是定义在类里的变量。

4. Series.dt.month是什么?

  • Series.dt.yaer是pandas库中Series对象的一个属性,用于获取Series对象中日期时间值的年份
  • Series.dt.month是pandas库中Series对象的一个属性,用于获取Series对象中日期时间值的月份
  • Series.dt.day是pandas库中Series对象的一个属性,用于获取Series对象中日期时间值的

5. 如何使用Series.dt.month?

首先,我们需要导入Pandas库:

import pandas as pd

接下来,我们可以创建一个包含日期时间数据的Series对象:

# 语法:pd.Series(data, index)
dates = pd.Series(['2021-01-01', '2022-02-02', '2023-03-03'])

然后将Series对象转换为日期时间类型:

# 语法:pd.to_datetime(arg, format)
s = pd.to_datetime(dates)

最后使用Series.dt获取日期属性:

# 语法:Series.dt.month
# s是一个Series对象,是对象名
# dt是Series对象的时间属性,是属性名
print("提取年份值:")
print(s.dt.year)  # 输出:0    2021#      1    2022#      2    2023#      dtype: int64
print("提取月份值:")
print(s.dt.month) # 输出:0    1#      1    2#      2    3#      dtype: int64
print("提取日值:")
print(s.dt.day)   # 输出:0    1#      1    2#      2    3#      dtype: int64

【终端输出】

提取年份值:
0    2021
1    2022
2    2023
dtype: int64
提取月份值:
0    1
1    2
2    3
dtype: int64
提取日值:
0    1
1    2
2    3
dtype: int64

6. Series.dt.month的语法

【查看对象属性语法】

对象名.属性名

Series.dt.month
  • Series表示要操作的Series对象,是对象名。
  • dt是Series对象的时间属性,是属性名。
  • 该时间属性有 year(年)、month(月)、day(日)等多个值。
  • month表示要提取的具体时间月份值,可以替换成year或day

7. 返回值

Series对象中的数据必须为日期时间类型,否则会报错。

Series.dt.month返回的是一个新的Series对象,不会修改原有的Series对象。

8. 实操练习

【目标任务】

提供一个名为销售表.csv的表。

任务1:查看其日期列的数据类型。

任务2:将日期列的数据类型转换为日期类型。

任务3:提取日期列数据的日值。

【代码示例】

# 导入pandas库并简写为pd
import pandas as pd# 文件的绝对路径
file = r"D:\安迪笔记\4.数据分析\17\销售表.csv"# 调用函数:库名.函数名()
# pd是库名
# read_excel是函数名
# io参数=file,file是路径
df = pd.read_csv(file)print("*****查看DataFrame每一列的数据类型*****",)
df.info()
print('\n')print("*****查看日期列数据*****")
print(df["日期"],'\n')# 将`日期`列的数据类型转换为日期类型
data = pd.to_datetime(df["日期"], format = '%Y-%m-%d')print("*****提取日期数据中的日值*****")
day_data = data.dt.dayprint(day_data)

【终端输出】

*****查看DataFrame每一列的数据类型*****
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 14 entries, 0 to 13
Data columns (total 6 columns):#   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 0   订单编号    14 non-null     object1   日期      14 non-null     object2   省       14 non-null     object3   订单量     14 non-null     int64 4   单价      14 non-null     int64 5   销售额     14 non-null     int64 
dtypes: int64(3), object(3)
memory usage: 800.0+ bytes*****查看日期列数据*****
0      2020-1-1
1      2020-1-2
2      2020-1-3
3      2020-1-4
4      2020-1-5
5      2020-1-6
6      2020-1-7
7      2020-1-8
8      2020-1-9
9     2020-1-10
10    2020-1-11
11    2020-1-12
12    2020-1-13
13    2020-1-14
Name: 日期, dtype: object *****提取日期数据中的日值*****
0      1
1      2
2      3
3      4
4      5
5      6
6      7
7      8
8      9
9     10
10    11
11    12
12    13
13    14
Name: 日期, dtype: int64

9. 总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/194603.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iApp祁天社区UI成品源码 功能齐全的社区应用

iApp祁天社区UI成品源码是一个非常实用的资源&#xff0c;提供了完整的源代码&#xff0c;可以帮助您快速搭建一个功能齐全的社区应用。 这个源码具有丰富的UI设计&#xff0c;经过精心调整和优化&#xff0c;确保用户体验流畅而舒适。它不仅具备基本的社区功能&#xff0c;如…

轮播图(多个一起轮播)

效果图 class MainActivity : Activity(), Runnable {private lateinit var viewPager: ViewPagerprivate lateinit var bannerAdapter: BannerAdapterprivate val images ArrayList<Int>() // 存储图片资源的列表private val handler Handler() // 用于定时发送消息…

基于 selenium 实现网站图片采集

写在前面 有小伙伴选题&#xff0c;简单整理理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&#xff0c;永不停息。所有其它的路都是不完整的&#xff0c;是人的逃避方式&#xff0c;是对…

基于SSM的学生疫情信息管理系统设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

Ubuntu 22.04 LTS ffmpeg mp4 gif 添加图片水印

ffmpeg编译安装6.0.1&#xff0c;参考 Ubuntu 20.04 LTS ffmpeg gif mp4 互转 许编译安装ffmpeg &#xff1b;解决gif转mp4转换后无法播放问题-CSDN博客 准备一个logo MP4添加水印 ffmpeg -i 2.mp4 -vf "movielogo.png[watermark];[in][watermark]overlayx10:y10[out]&…

大功率电源芯片WD5030L

电源管理芯片作为现代电子设备中最关键的元件之一&#xff0c;直接影响着设备的性能和效率。而大功率电源芯片作为电源管理芯片中的一种&#xff0c;其性能和应用领域更加广泛。本文将介绍一款具有宽VIN输入范围、高效率和多种优良性能的大功率电源芯片WD5030L&#xff0c;并探…

通付盾Web3专题 | KYT/AML:Web3合规展业的必要条件

与传统证券一样&#xff0c;基于区块链技术发展出来的虚拟资产交易所经历了快速发展而缺乏有效监管的行业早期。除了科技光环加持的各种区块链项目方、造富神话之外&#xff0c;交易所遭到黑客攻击、内部偷窃作恶、甚至经营主体异常而致使投资人血本无归的案例亦令人触目惊心。…

STM32 I2C详解

STM32 I2C详解 I2C简介 I2C&#xff08;Inter IC Bus&#xff09;是由Philips公司开发的一种通用数据总线 两根通信线&#xff1a; SCL&#xff08;Serial Clock&#xff09;串行时钟线&#xff0c;使用同步的时序&#xff0c;降低对硬件的依赖&#xff0c;同时同步的时序稳定…

udp多点通信-广播-组播

单播 每次只有两个实体相互通信&#xff0c;发送端和接收端都是唯一确定的。 广播 主机之间的一对多的通信所有的主机都可以接收到广播消息(不管你是否需要)广播禁止穿过路由器&#xff08;只能做局域网通信&#xff09;只有UDP可以广播广播地址 有效网络号全是1的主机号 192.1…

酷开系统 酷开科技,将家庭娱乐推向新高潮

在当今数字化时代&#xff0c;家庭娱乐已经成为人们日常生活中不可或缺的一部分。如果你厌倦了传统的家庭娱乐方式&#xff0c;想要一种全新的、充满惊喜的娱乐体验&#xff0c;那么&#xff0c;不妨进入到酷开科技的世界&#xff0c;作为智能电视行业领军企业&#xff0c;酷开…

Dubbo协议详解

前言特点应用场景Dubbo协议示例Dubbo协议的不足拓展 前言 Dubbo协议是一种高性能、轻量级的开源RPC框架&#xff0c;主要设计目的是解决分布式系统中服务调用的一些常见问题&#xff0c;例如服务负载均衡、服务注册中心、服务的远程调用等。它支持多种语言&#xff0c;例如Jav…

Day10—SQL那些事(特殊场景的查询)

文章目录 1、只想查一个字段却不得不左连接好多张表2、左连接的时候只想取最后一条数据 1、只想查一个字段却不得不左连接好多张表 只想查一个字段却不得不左连接好多张表&#xff0c;而且因为左连接的表太多还导致查出来的数据重复 原先的sql SELECTsph.po_num,chh.visa_ex…

向量以及矩阵

0.前言 好了那我们新的征程也即将开始&#xff0c;那么在此呢我也先啰嗦两句&#xff0c;本篇文章介绍数学基础的部分&#xff0c;因为个人精力有限我不可能没一字一句都讲得非常清楚明白&#xff0c;像矩阵乘法之类的一些基础知识我都是默认你会了&#xff08;还不会的同学推…

Nas搭建webdav服务器并同步Zotero科研文献

无需云盘&#xff0c;不限流量实现Zotero跨平台同步&#xff1a;内网穿透私有WebDAV服务器 文章目录 无需云盘&#xff0c;不限流量实现Zotero跨平台同步&#xff1a;内网穿透私有WebDAV服务器一、Zotero安装教程二、群晖NAS WebDAV设置三、Zotero设置四、使用公网地址同步Zote…

认识Tomcat

文章目录 什么是tomcat&#xff1f;tomcat的使用tomcat的下载tomcat的目录结构tomcat的启动在tomcat上部署页面通过浏览器访问部署的页面 学习servlet的原因 什么是tomcat&#xff1f; 盖棺定论&#xff1a;Tomcat是一个HTTP服务器。 我们接下来要长期学习的东西都是关于前后…

Python框架篇(2):FastApi-参数接收和验证

提示: 如果想获取文章中具体的代码信息&#xff0c;可在微信搜索【猿码记】回复 【fastapi】即可。 1.参数接收 1.1 路径参数(不推荐) 1.代码清单 在app/router下&#xff0c;新增demo_router.py文件,内容如下: from fastapi import APIRouterrouter APIRouter( prefix&qu…

SpringCloud微服务:Nacos的集群、负载均衡、环境隔离

目录 集群 在user-service的yml文件配置集群 启动服务 负载均衡 order-service配置集群 设置负载均衡 当本地集群的服务挂掉时 访问权重 环境隔离 1、Nacos服务分级存储模型 一级是服务&#xff0c;例如userservice 二级是集群&#xff0c;例如杭州或上海 …

【自动化测试】基于Selenium + Python的web自动化框架!

一、什么是Selenium&#xff1f; Selenium是一个基于浏览器的自动化工具&#xff0c;她提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分&#xff1a;Selenium IDE、Selenium WebDriver 和Selenium Grid&#xff1a;  1、Selenium IDE&…

设计基于STM32F103C8T6微控制器的巡线小车

巡线小车是一种能够在一条预定线追踪路径的小车&#xff0c;广泛应用于工业自动化、物流仓储、智能家居等领域。本设计将使用STM32F103C8T6微控制器来实现一个基础的巡线小车。 硬件组成&#xff1a;1. STM32F103C8T6微控制器开发板&#xff1a;作为巡线小车的核心控制器&…

开源与闭源:数字化时代的辩论与未来走向

在当今的数字化时代&#xff0c;关于开源和闭源软件的辩论一直是技术界的热门话题。 特斯拉CEO马斯克最近也加入了这场辩论&#xff0c;公开表示OpenAI不应该闭源&#xff0c;而他自己的首款聊天机器人将选择开源。 这引发了人们对开源与闭源软件的进一步思考&#xff1a;开源是…