Pandas基础之筛选日期

本文介绍了如何使用pandas的DataFrame对象的.truncate()函数,对数据表进行按出生日期截取特定时期或区间的数据,以及进行简单的统计分析,包括筛选特定年份前后、指定日期范围内的员工信息。
摘要由CSDN通过智能技术生成

dataframe的.truncate()函数可以截取某个时期之前或之后的数据,或者某个时间区间的数据,进行统计分析。

数据表格:是自己造的数据,仅供参考使用

序号姓名出生日期工作时长当前日期
1赵宇2000/2/1122024/3/25
2李虎2001/3/222024/3/25
3李玉2001/3/2122024/3/25
4王虎2000/4/2522024/3/25
5林静2001/6/3022024/3/25
6郝小花2002/6/2022024/3/25
7何静1990/1/2022024/3/25
8韩宇温1991/3/822024/3/25
9何瑞湖1992/9/2022024/3/25
10华宏卓1993/10/2622024/3/25
11王晨冠1994/11/1022024/3/25
12杨晨平1995/7/2022024/3/25
13裴善杰1996/9/622024/3/25
14刘云盛1997/12/2022024/3/25
15曲衡昀1998/11/1822024/3/25
16张逸迪1999/4/1522024/3/25
17苏止妤2000/2/2022024/3/25
18林逸2001/1/2022024/3/25
19苏暖2002/1/2022024/3/25
20贺嘉华2003/1/2022024/3/25
import pandas as pd
import datetime as dt
data=pd.read_excel("D:/born.xlsx",index_col='出生日期',parse_dates=['出生日期'])
print(data)
print('-'*50)
data1=pd.read_excel("D:/born.xlsx")
print(data.loc[['2000-02-11','2001-06-30'],'姓名'])
print('-'*50)
print(data.loc['2002-06-20',['姓名','工作时长']])
print('-'*50)
#添加新的年龄列
data1['出生天数']=data1['当前日期']-data1['出生日期']
data1['出生天数']=data1['出生天数'].map(lambda x:x.days)
data1['年龄']=data1['出生天数']//365
print(data1)
print('-'*50)
#对日期进行排序
data2=data.sort_values('出生日期')
print(data2)
print('-'*50)
#获取1999年之后的数据
print(data2.truncate(before='1999'))
print('-'*50)
#获取2001-01之前的数据
print(data2.truncate(after='2001-01'))
#获取指定区间的数据
print('-'*50)
print(data2['2001-01-10':'2003-02-20'])
#多个条件
print('-'*50)
data3=pd.read_excel("D:/born.xlsx",index_col='序号',parse_dates=['出生日期'])
condition=(
    '@data3.出生日期.dt.year>1996 and'
    '@data3.出生日期.dt.year<2001'
)
print(data3.query(condition))

运行结果:

D:\Python\p\Scripts\python.exe "D:\Python\python-learning\数据分析(二)\对日期进行筛选.py" 
            序号   姓名  工作时长       当前日期
出生日期                                
2000-02-11   1   赵宇     2 2024-03-25
2001-03-02   2   李虎     2 2024-03-25
2001-03-21   3   李玉     2 2024-03-25
2000-04-25   4   王虎     2 2024-03-25
2001-06-30   5   林静     2 2024-03-25
2002-06-20   6  郝小花     2 2024-03-25
1990-01-20   7   何静     2 2024-03-25
1991-03-08   8  韩宇温     2 2024-03-25
1992-09-20   9  何瑞湖     2 2024-03-25
1993-10-26  10  华宏卓     2 2024-03-25
1994-11-10  11  王晨冠     2 2024-03-25
1995-07-20  12  杨晨平     2 2024-03-25
1996-09-06  13  裴善杰     2 2024-03-25
1997-12-20  14  刘云盛     2 2024-03-25
1998-11-18  15  曲衡昀     2 2024-03-25
1999-04-15  16  张逸迪     2 2024-03-25
2000-02-20  17  苏止妤     2 2024-03-25
2001-01-20  18   林逸     2 2024-03-25
2002-01-20  19   苏暖     2 2024-03-25
2003-01-20  20  贺嘉华     2 2024-03-25
--------------------------------------------------
出生日期
2000-02-11    赵宇
2001-06-30    林静
Name: 姓名, dtype: object
--------------------------------------------------
姓名      郝小花
工作时长      2
Name: 2002-06-20 00:00:00, dtype: object
--------------------------------------------------
    序号   姓名       出生日期  工作时长       当前日期   出生天数  年龄
0    1   赵宇 2000-02-11     2 2024-03-25   8809  24
1    2   李虎 2001-03-02     2 2024-03-25   8424  23
2    3   李玉 2001-03-21     2 2024-03-25   8405  23
3    4   王虎 2000-04-25     2 2024-03-25   8735  23
4    5   林静 2001-06-30     2 2024-03-25   8304  22
5    6  郝小花 2002-06-20     2 2024-03-25   7949  21
6    7   何静 1990-01-20     2 2024-03-25  12483  34
7    8  韩宇温 1991-03-08     2 2024-03-25  12071  33
8    9  何瑞湖 1992-09-20     2 2024-03-25  11509  31
9   10  华宏卓 1993-10-26     2 2024-03-25  11108  30
10  11  王晨冠 1994-11-10     2 2024-03-25  10728  29
11  12  杨晨平 1995-07-20     2 2024-03-25  10476  28
12  13  裴善杰 1996-09-06     2 2024-03-25  10062  27
13  14  刘云盛 1997-12-20     2 2024-03-25   9592  26
14  15  曲衡昀 1998-11-18     2 2024-03-25   9259  25
15  16  张逸迪 1999-04-15     2 2024-03-25   9111  24
16  17  苏止妤 2000-02-20     2 2024-03-25   8800  24
17  18   林逸 2001-01-20     2 2024-03-25   8465  23
18  19   苏暖 2002-01-20     2 2024-03-25   8100  22
19  20  贺嘉华 2003-01-20     2 2024-03-25   7735  21
--------------------------------------------------
            序号   姓名  工作时长       当前日期
出生日期                                
1990-01-20   7   何静     2 2024-03-25
1991-03-08   8  韩宇温     2 2024-03-25
1992-09-20   9  何瑞湖     2 2024-03-25
1993-10-26  10  华宏卓     2 2024-03-25
1994-11-10  11  王晨冠     2 2024-03-25
1995-07-20  12  杨晨平     2 2024-03-25
1996-09-06  13  裴善杰     2 2024-03-25
1997-12-20  14  刘云盛     2 2024-03-25
1998-11-18  15  曲衡昀     2 2024-03-25
1999-04-15  16  张逸迪     2 2024-03-25
2000-02-11   1   赵宇     2 2024-03-25
2000-02-20  17  苏止妤     2 2024-03-25
2000-04-25   4   王虎     2 2024-03-25
2001-01-20  18   林逸     2 2024-03-25
2001-03-02   2   李虎     2 2024-03-25
2001-03-21   3   李玉     2 2024-03-25
2001-06-30   5   林静     2 2024-03-25
2002-01-20  19   苏暖     2 2024-03-25
2002-06-20   6  郝小花     2 2024-03-25
2003-01-20  20  贺嘉华     2 2024-03-25
--------------------------------------------------
            序号   姓名  工作时长       当前日期
出生日期                                
1999-04-15  16  张逸迪     2 2024-03-25
2000-02-11   1   赵宇     2 2024-03-25
2000-02-20  17  苏止妤     2 2024-03-25
2000-04-25   4   王虎     2 2024-03-25
2001-01-20  18   林逸     2 2024-03-25
2001-03-02   2   李虎     2 2024-03-25
2001-03-21   3   李玉     2 2024-03-25
2001-06-30   5   林静     2 2024-03-25
2002-01-20  19   苏暖     2 2024-03-25
2002-06-20   6  郝小花     2 2024-03-25
2003-01-20  20  贺嘉华     2 2024-03-25
--------------------------------------------------
            序号   姓名  工作时长       当前日期
出生日期                                
1990-01-20   7   何静     2 2024-03-25
1991-03-08   8  韩宇温     2 2024-03-25
1992-09-20   9  何瑞湖     2 2024-03-25
1993-10-26  10  华宏卓     2 2024-03-25
1994-11-10  11  王晨冠     2 2024-03-25
1995-07-20  12  杨晨平     2 2024-03-25
1996-09-06  13  裴善杰     2 2024-03-25
1997-12-20  14  刘云盛     2 2024-03-25
1998-11-18  15  曲衡昀     2 2024-03-25
1999-04-15  16  张逸迪     2 2024-03-25
2000-02-11   1   赵宇     2 2024-03-25
2000-02-20  17  苏止妤     2 2024-03-25
2000-04-25   4   王虎     2 2024-03-25
--------------------------------------------------
            序号   姓名  工作时长       当前日期
出生日期                                
2001-01-20  18   林逸     2 2024-03-25
2001-03-02   2   李虎     2 2024-03-25
2001-03-21   3   李玉     2 2024-03-25
2001-06-30   5   林静     2 2024-03-25
2002-01-20  19   苏暖     2 2024-03-25
2002-06-20   6  郝小花     2 2024-03-25
2003-01-20  20  贺嘉华     2 2024-03-25
--------------------------------------------------
     姓名       出生日期  工作时长       当前日期
序号                                 
1    赵宇 2000-02-11     2 2024-03-25
4    王虎 2000-04-25     2 2024-03-25
14  刘云盛 1997-12-20     2 2024-03-25
15  曲衡昀 1998-11-18     2 2024-03-25
16  张逸迪 1999-04-15     2 2024-03-25
17  苏止妤 2000-02-20     2 2024-03-25

进程已结束,退出代码为 0

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值