dataframe的.truncate()函数可以截取某个时期之前或之后的数据,或者某个时间区间的数据,进行统计分析。
数据表格:是自己造的数据,仅供参考使用
序号 | 姓名 | 出生日期 | 工作时长 | 当前日期 |
1 | 赵宇 | 2000/2/11 | 2 | 2024/3/25 |
2 | 李虎 | 2001/3/2 | 2 | 2024/3/25 |
3 | 李玉 | 2001/3/21 | 2 | 2024/3/25 |
4 | 王虎 | 2000/4/25 | 2 | 2024/3/25 |
5 | 林静 | 2001/6/30 | 2 | 2024/3/25 |
6 | 郝小花 | 2002/6/20 | 2 | 2024/3/25 |
7 | 何静 | 1990/1/20 | 2 | 2024/3/25 |
8 | 韩宇温 | 1991/3/8 | 2 | 2024/3/25 |
9 | 何瑞湖 | 1992/9/20 | 2 | 2024/3/25 |
10 | 华宏卓 | 1993/10/26 | 2 | 2024/3/25 |
11 | 王晨冠 | 1994/11/10 | 2 | 2024/3/25 |
12 | 杨晨平 | 1995/7/20 | 2 | 2024/3/25 |
13 | 裴善杰 | 1996/9/6 | 2 | 2024/3/25 |
14 | 刘云盛 | 1997/12/20 | 2 | 2024/3/25 |
15 | 曲衡昀 | 1998/11/18 | 2 | 2024/3/25 |
16 | 张逸迪 | 1999/4/15 | 2 | 2024/3/25 |
17 | 苏止妤 | 2000/2/20 | 2 | 2024/3/25 |
18 | 林逸 | 2001/1/20 | 2 | 2024/3/25 |
19 | 苏暖 | 2002/1/20 | 2 | 2024/3/25 |
20 | 贺嘉华 | 2003/1/20 | 2 | 2024/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