Pandas 格式化日期时间

当进行数据分析时,我们会遇到很多带有日期、时间格式的数据集,在处理这些数据集时,就需要对日期时间做统一的格式化处理。

比如“Wednesday, June 6, 2023”可以写成“6/6/23”,或“06-06-2023”。

Pandas 中,我们可以使用 pd.to_datetime() 函数将日期字符串或时间戳转换为 Pandas 的日期时间类型。这在上一篇详解Pandas中的时间序列中有过讲解。

转换后,我们就可以使用 strftime() 函数将日期时间格式化为自己想要的字符串形式。

strftime() 函数:将日期时间格式化为字符串

strftime() 函数是 Python 中 datetime 模块中的一个方法,用于将 datetime 对象格式化为字符串。它的用法如下:

datetime_object.strftime(format)

其中,datetime_object 表示一个 datetime 对象,format 是一个字符串,用来指定 datetime 对象转换后的格式。

format 字符串中可以包含以下格式化符号:

格式化符号 含义
%Y 四位数的年份
%y 两位数的年份
%m 两位数的月份(01~12)
%B 月份的全称(January~December)
%b 月份的缩写名称(Jan~Dec)
%d 两位数的日期(01~31)
%H 24 小时制的小时数(00~23)
%I 12 小时制的小时数(01~12)
%p AM 或 PM
%M 两位数的分钟数(00~59)
%S 两位数的秒数(00~59)
%f 微秒(0~999999)
%j 一年中的第几天(001~366)
%U 一年中的第几周(00~53),以周日为一周的开始
%W 一年中的第几周(00~53),以周一为一周的开始
%w 一周中的第几天(0~6),以周日为 0,周六为 6
%c 本地日期时间
%x 本地日期
%X 本地时间
%% 百分号

例如,将当前时间转换为字符串,格式为 "2023-03-05 12:34:56",可以使用如下代码:

from datetime import datetime

now = datetime.now()
date_string = now.strftime('%Y-%m-%d %H:%M:%S')
print(date_string)

输出结果:
2023-03-05 12:34:56

Pandas 日期时间格式化

在 Pandas 中,也使用 strftime() 方法将日期时间格式化为字符串。

strftime() 方法同样也是 datetime 模块中的方法,可以用它来格式化时间戳。不同于 datetime 中直接传入时间戳,Pandas 的 Series 和 DataFrame 中存储的是 pandas.Timestamp 对象,因此需要将它们转换成 datetime 对象后再进行格式化。

例如,将一个 Pandas Series 中的日期时间格式化为字符串,格式为 "YYYY-MM-DD",可以使用如下代码:

import pandas as pd

# 创建一个包含日期时间的 Pandas Series
dates = pd.Series(['2022-01-01', '2022-01-02', '2022-01-03'])

# 将日期时间转换为 Pandas Timestamp 对象
dates = pd.to_datetime(dates)

# 将 Pandas Timestamp 对象转换为 datetime 对象
dates = dates.dt.to_pydatetime()

# 将 datetime 对象格式化为字符串
date_strings = [date.strftime('%Y-%m-%d') for date in dates]

print(date_strings)

输出结果:

['2022-01-01', '2022-01-02', '2022-01-03']

在上面的代码中,首先使用 pd.to_datetime() 方法将字符串格式的日期时间转换为 Pandas Timestamp 对象,然后使用 dt.to_pydatetime() 方法将 Pandas Timestamp 对象转换为 datetime 对象。最后使用 strftime() 方法将 datetime 对象格式化为字符串。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas 格式化日期时间 - Python技术站

(1)
上一篇 2023年3月6日
下一篇 2023年3月6日

相关文章

  • 如何在Pandas数据框架中把整数转换成字符串

    将整数转换为字符串在数据处理中非常常见,在Pandas数据框架中也可以很方便地完成这个任务。 下面是将整数数据框中的所有整数转换为字符串的详细步骤: 1.导入Pandas库并读取数据框 import pandas as pd data = pd.read_csv(‘data.csv’) 在这里,数据框的名称是data,读取的文件格式是csv文件。 2.使用a…

    python-answer 2023年3月27日
    00
  • 从Pandas数据框架中的行创建一个列表 Set 2

    要从Pandas数据框架中的行创建一个列表,可以使用Pandas的”.iloc”或者”.loc”方法来选择需要使用的行,然后使用列表推导式将每行的数据转化为一个列表。 下面是一个示例代码,假设有一个数据框架df,其中包含5列数字:A、B、C、D和E,我们需要把第2、3、4行数据提取出来,组成一个列表Set 2: import pandas as pd # 创…

    python-answer 2023年3月27日
    00
  • pandas学习之txt与sql文件的基本操作指南

    Pandas学习之txt与sql文件的基本操作指南 在Pandas中,我们可以使用read_csv()来读取.csv文件,但是如果我们需要读取其他格式的文件,该怎么办呢?本文将介绍如何使用Pandas来读取.txt和.sql文件,并进行基本的操作。 读取txt文件 我们可以使用read_table()方法来读取.txt文件。例如,我们有一个叫做sample.…

    python 2023年5月14日
    00
  • 如何在一个DataFrame中绘制多个数据列

    在一个DataFrame中绘制多个数据列可以让我们更直观地比较不同数据之间的关系和趋势,这里提供一个完整的攻略。 1. 准备工作 首先,我们需要准备好数据,可以通过Pandas读取CSV、Excel等格式的数据。 以读取CSV文件为例,可以使用如下代码: import pandas as pd df = pd.read_csv(‘data.csv’) 其中,…

    python-answer 2023年3月27日
    00
  • python-pandas创建Series数据类型的操作

    下面是Python Pandas创建Series数据类型的操作的完整攻略。 创建Series 从列表创建 使用pandas.Series构造函数从列表中创建Series对象。 import pandas as pd data = [10, 20, 30, 40] s = pd.Series(data) print(s) 输出: 0 10 1 20 2 30 …

    python 2023年6月13日
    00
  • 创建Pandas系列数据的平均值和标准偏差

    要计算Pandas系列数据的平均值和标准偏差,可以使用Pandas库中的mean()和std()函数。下面是创建Pandas系列数据的平均值和标准偏差的完整攻略: 创建Pandas系列数据 首先,需要创建一个Pandas系列数据。可以使用下面的代码创建一个包含随机整数的Pandas系列数据: import pandas as pd import numpy …

    python-answer 2023年3月27日
    00
  • pandas apply多线程实现代码

    下面我将详细讲解如何使用Pandas的apply方法实现多线程代码。 1. 多线程原理 在单线程模型中,代码的执行是按照先后顺序逐个执行。而在多线程模型中,代码的执行可以同时进行多个线程的处理,从而提高代码运行效率。 在Python中实现多线程时,推荐使用threading库。 2. Pandas.apply方法 Pandas是Python中最流行的数据处理…

    python 2023年5月14日
    00
  • 在Python中操纵时间序列数据

    在Python中操作时间序列数据,主要使用的是datetime模块。下面是完整的攻略: 1. 导入模块 from datetime import datetime 2. 创建日期时间对象 使用 datetime 构造函数,可以创建一个日期时间对象。该构造函数最少需要三个参数: year(年) month(月) day(日) dt = datetime(202…

    python-answer 2023年3月27日
    00
合作推广
合作推广
分享本页
返回顶部