Pandas对日期数据的处理

Pandas对日期数据的处理


前言

Pandas中提供了许多简单易用的日期数据处理函数,包括将字符串转换成为对应的日期数据,根据日期来选取数据等等。接下来,让我们了解一下Pandas中对日期数据的处理。


一、将字符串转换为日期类型

1、将字符串形式的日期数据转换成为日期类型,方便后续处理

代码如下:

# 将各种日期字符串转换成日期格式
import pandas as pd
data = ['12Feb23', '20201225', '2022/12/25', '2018.7.12']
columns = ['日期']
df = pd.DataFrame(data = data, columns = columns)
df['转换后'] = pd.to_datetime(df['日期'])
df

运行结果:
在这里插入图片描述

2、根据多列中的数据,组成一列为日期类型

代码如下:

# 从多列中组合成一个日期
df = pd.DataFrame({
    'year' : [2018, 2019, 2020],
    'month' : [2, 3, 4],
    'day' : [22, 12, 30],
    'hour' : [12, 14, 15],
    'minute' : [19, 30, 45],
    'second' : [12, 23, 45]
})
df['组合后的日期'] = pd.to_datetime(df)
df

运行结果:
在这里插入图片描述

二、dt对象的使用

pandas可以使用dt对象获取datetime数据类型的特定信息

代码如下:

# dt 对象的使用
import pandas as pd
df = pd.read_excel('datetime.xlsx')
df['日期'] = pd.to_datetime(df['原日期'])
df['年'] = df['日期'].dt.year
df['月'] = df['日期'].dt.month
df['日'] = df['日期'].dt.day
df['星期几'] = df['日期'].dt.day_name()
df['是否年底'] = df['日期'].dt.is_year_end
df

运行结果:
在这里插入图片描述


三、根据日期获取数据

代码如下:

# 获取日期区间的数据
import pandas as pd
df = pd.read_excel('销售数据.xlsx')
df.sort_values(by = '日期', inplace = True)
df = df.set_index('日期')
# df
# df['2021']
# df['2021-01']
df['2021-01-23':'2021-01-23'] #查看某一日数据
# df['2021-01-23':'2021-02-23']

四、根据日期统计数据

代码如下:

# 按照不同时期统计数据
import pandas as pd
df = pd.read_excel('销售数据.xlsx')
df = df.set_index('日期')
# 按年统计求和
df1 = df.resample('AS').sum()
df1
# 按季度统计求和
df2 = df.resample('Q').sum()
df2
# 按月度统计求和
df3 = df.resample('M').sum()
df3
# 按周统计求和
df4 = df.resample('W').sum()
df4
# 按天统计求和
df5 = df.resample('D').sum()
df5

运行结果(按照年统计求和)
在这里插入图片描述


五、根据日期显示数据

代码如下:

# 按照不同时期显示数据
import pandas as pd
df = pd.read_excel('销售数据.xlsx')
df = df.set_index('日期')
df = df.sort_values('日期')
df

df1 = df.to_period('A')
df1

df2 = df.to_period('Q')
df2

df3 = df.to_period('M')
df3

df4 = df.to_period('W')
df4

df5 = df.to_period('D')
df5

运行结果:

在这里插入图片描述


六、根据日期统计并显示数据

代码如下:

# 按时期统计并显示数据
import pandas as pd
df = pd.read_excel('销售数据.xlsx')
df = df.set_index('日期')
df = df.sort_values('日期')
df

# 按照季度统计数据
df1 = df.resample('Q').sum()
print(df1)

# 按照季度统计数据并显示
df2 = df.resample('Q').sum().to_period('Q')
df2

运行结果:

在这里插入图片描述


总结

以上就是今天要讲的内容,本文仅仅简单介绍了pandas中对日期类型的处理,和根据日期类型对数据进行统计显示

  • 4
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值