Board logo

标题: Pandas的日期时间数据转换 [打印本页]

作者: admin    时间: 2023-11-24 12:39     标题: Pandas的日期时间数据转换

###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'原日期':['08-Feb-23','02/08/2023','2023.02.08','2023/02/08','20230208']}) df['转换后的日期'] = pd.to_datetime(df['原日期']) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 原日期 转换后的日期 0 08-Feb-23 2023-02-08 1 02/08/2023 2023-02-08 2 2023.02.08 2023-02-08 3 2023/02/08 2023-02-08 4 20230208 2023-02-08 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'原日期':['8-February-23','2/8/2023','2023.2.8','2023/2/8','20230208'],}) df['转换后的日期'] = pd.to_datetime(df['原日期']) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 原日期 转换后的日期 0 8-February-23 2023-02-08 1 2/8/2023 2023-02-08 2 2023.2.8 2023-02-08 3 2023/2/8 2023-02-08 4 20230208 2023-02-08 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'原日期':['18-February-23','02/18/2023','2023.2.18','2023/2/18','20230218',]}) df['转换后的日期'] = pd.to_datetime(df['原日期']) print(df) print("-" * 10) print("-" * 10) ## 不输出索引: Result_1 = df.to_string(index=False) print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 原日期 转换后的日期 0 18-February-23 2023-02-18 1 02/18/2023 2023-02-18 2 2023.2.18 2023-02-18 3 2023/2/18 2023-02-18 4 20230218 2023-02-18 ---------- ---------- 原日期 转换后的日期 18-February-23 2023-02-18 02/18/2023 2023-02-18 2023.2.18 2023-02-18 2023/2/18 2023-02-18 20230218 2023-02-18 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'原日期':['18-February-23','2/18/2023','2023.2.18','2023/2/18','20230218',],}) df['转换后的日期'] = pd.to_datetime(df['原日期']) print(df) print("-" * 10) print("-" * 10) print(df.head(3)) #显示前面3条记录 print("-" * 10) print(df.tail(3)) #显示后面3条记录 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 原日期 转换后的日期 0 18-February-23 2023-02-18 1 2/18/2023 2023-02-18 2 2023.2.18 2023-02-18 3 2023/2/18 2023-02-18 4 20230218 2023-02-18 ---------- ---------- 原日期 转换后的日期 0 18-February-23 2023-02-18 1 2/18/2023 2023-02-18 2 2023.2.18 2023-02-18 ---------- 原日期 转换后的日期 2 2023.2.18 2023-02-18 3 2023/2/18 2023-02-18 4 20230218 2023-02-18 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'原日期':['18-February-23','02/18/2023','2023.02.18','2023/2/18','20230218']}) df['转换后的日期'] = pd.to_datetime(df['原日期']) print(df) print("-" * 10) print("-" * 10) ## 显示前面3条记录,且不输出索引: Result_1 = df.head(3) Result_1 = Result_1.to_string(index=False) print(Result_1) print("-" * 10) ## 显示后面3条记录,且不输出索引: Result_2 = df.tail(3) Result_2 = Result_2.to_string(index=False) print(Result_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 原日期 转换后的日期 0 18-February-23 2023-02-18 1 02/18/2023 2023-02-18 2 2023.02.18 2023-02-18 3 2023/2/18 2023-02-18 4 20230218 2023-02-18 ---------- ---------- 原日期 转换后的日期 18-February-23 2023-02-18 02/18/2023 2023-02-18 2023.02.18 2023-02-18 ---------- 原日期 转换后的日期 2023.02.18 2023-02-18 2023/2/18 2023-02-18 20230218 2023-02-18 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'原日期时间':['18-February-23 13:23:02','02/18/2023 8:12:18','2023.02.18 02:1:00','2023/2/18','20230218']}) df['转换后的日期时间'] = pd.to_datetime(df['原日期时间']) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 原日期时间 转换后的日期时间 0 18-February-23 13:23:02 2023-02-18 13:23:02 1 02/18/2023 8:12:18 2023-02-18 08:12:18 2 2023.02.18 02:1:00 2023-02-18 02:01:00 3 2023/2/18 2023-02-18 00:00:00 4 20230218 2023-02-18 00:00:00 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua','Lily','Tony'], '原日期时间':['18-February-23 13:23:02','02/18/2023 8:12:18','2023.02.18 02:1:00','2023/2/18','20230218'] }) df['转换后的日期时间'] = pd.to_datetime(df['原日期时间']) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 原日期时间 转换后的日期时间 0 李大杰 18-February-23 13:23:02 2023-02-18 13:23:02 1 Jacky 02/18/2023 8:12:18 2023-02-18 08:12:18 2 zhuohua 2023.02.18 02:1:00 2023-02-18 02:01:00 3 Lily 2023/2/18 2023-02-18 00:00:00 4 Tony 20230218 2023-02-18 00:00:00 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'日期':['2021-10-06','2022-03-05','2023-11-07']}) print(df) print("-" * 10) print("-" * 10) ## 获取日期中的年、月、日: Date_1 = pd.to_datetime(df["日期"]) df["年"] = Date_1.dt.year df["月"] = Date_1.dt.month df["日"] = Date_1.dt.day print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 日期 0 2021-10-06 1 2022-03-05 2 2023-11-07 ---------- ---------- 日期 年 月 日 0 2021-10-06 2021 10 6 1 2022-03-05 2022 3 5 2 2023-11-07 2023 11 7 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'], '日期时间':['2021-10-06 13:23:02','2022-3-05 08:12:18','2023-11-7 02:01:00',] }) print(df) print("-" * 10) print("-" * 10) ## 获取日期时间中的年、月、日: Date_1 = pd.to_datetime(df['日期时间']) df["年"],df["月"],df['日'] = Date_1.dt.year,Date_1.dt.month,Date_1.dt.day print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 日期时间 0 李大杰 2021-10-06 13:23:02 1 Jacky 2022-3-05 08:12:18 2 zhuohua 2023-11-7 02:01:00 ---------- ---------- 买家姓名 日期时间 年 月 日 0 李大杰 2021-10-06 13:23:02 2021 10 6 1 Jacky 2022-3-05 08:12:18 2022 3 5 2 zhuohua 2023-11-7 02:01:00 2023 11 7 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'日期时间':['2021-10-06 13:23:02','2022-03-05 08:12:18','2023-11-07 02:01:00',]}) print(df) print("-" * 10) print("-" * 10) Date_1 = pd.to_datetime(df['日期时间']) df["时"] = Date_1.dt.hour #获取日期时间中的时 df["分"] = Date_1.dt.minute #获取日期时间中的分 df["秒"] = Date_1.dt.second #获取日期时间中的秒 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 日期时间 0 2021-10-06 13:23:02 1 2022-03-05 08:12:18 2 2023-11-07 02:01:00 ---------- ---------- 日期时间 时 分 秒 0 2021-10-06 13:23:02 13 23 2 1 2022-03-05 08:12:18 8 12 18 2 2023-11-07 02:01:00 2 1 0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'日期时间':['2021-10-06 13:23:2','2022-03-05 8:12:18','2023-11-07 02:01:00',]}) print(df) print("-" * 10) print("-" * 10) ## 获取日期时间中的时、分、秒: Date_1 = pd.to_datetime(df['日期时间']) df["时"],df["分"],df["秒"] = Date_1.dt.hour,Date_1.dt.minute,Date_1.dt.second print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 日期时间 0 2021-10-06 13:23:2 1 2022-03-05 8:12:18 2 2023-11-07 02:01:00 ---------- ---------- 日期时间 时 分 秒 0 2021-10-06 13:23:2 13 23 2 1 2022-03-05 8:12:18 8 12 18 2 2023-11-07 02:01:00 2 1 0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'时间':['13:23:2','8:12:18','02:01:00',]}) print(df) print("-" * 10) print("-" * 10) ## 获取时间中的时、分、秒: Date_1 = pd.to_datetime(df['时间']) df["时"],df["分"],df["秒"] = Date_1.dt.hour,Date_1.dt.minute,Date_1.dt.second print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 时间 0 13:23:2 1 8:12:18 2 02:01:00 ---------- ---------- 时间 时 分 秒 0 13:23:2 13 23 2 1 8:12:18 8 12 18 2 02:01:00 2 1 0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'付款时间':['13:23:02','08:12:18','02:01:00',]}) print(df) print("-" * 10) print("-" * 10) Date_1 = pd.to_datetime(df['付款时间']) df["时"] = Date_1.dt.hour #获取时间中的时 df["分"] = Date_1.dt.minute #获取时间中的分 df["秒"] = Date_1.dt.second #获取时间中的秒 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 付款时间 0 李大杰 13:23:02 1 Jacky 08:12:18 2 zhuohua 02:01:00 ---------- ---------- 买家姓名 付款时间 时 分 秒 0 李大杰 13:23:02 13 23 2 1 Jacky 08:12:18 8 12 18 2 zhuohua 02:01:00 2 1 0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'日期':['2021-10-06','2022-3-05','2023-11-7',]}) print(df) print("-" * 10) print("-" * 10) Date_1 = pd.to_datetime(df["日期"]) df["星期数"] = Date_1.dt.day_name() #获取日期所处的星期数 df["季度"] = Date_1.dt.quarter #获取日期所处的季度 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 日期 0 2021-10-06 1 2022-3-05 2 2023-11-7 ---------- ---------- 日期 星期数 季度 0 2021-10-06 Wednesday 4 1 2022-3-05 Saturday 1 2 2023-11-7 Tuesday 4 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'日期时间':['2021-10-06 13:23:02','2022-03-5 08:12:18','2023-11-7 02:1:00',]}) print(df) print("-" * 10) print("-" * 10) ## 获取日期时间所处的星期数、季度: Date_1 = pd.to_datetime(df['日期时间']) df['星期数'],df['季度'] = Date_1.dt.day_name(),Date_1.dt.quarter print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 日期时间 0 2021-10-06 13:23:02 1 2022-03-5 08:12:18 2 2023-11-7 02:1:00 ---------- ---------- 日期时间 星期数 季度 0 2021-10-06 13:23:02 Wednesday 4 1 2022-03-5 08:12:18 Saturday 1 2 2023-11-7 02:1:00 Tuesday 4 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'日期':['2021-10-06','2022-12-31','2023-11-7']}) print(df) print("-" * 10) print("-" * 10) Date_1 = pd.to_datetime(df['日期']) df['月'] = Date_1.dt.month #获取日期中的月 df['日'] = Date_1.dt.day #获取日期中的日 df["是否年底"] = Date_1.dt.is_year_end #从日期判断是否为年底最后一天 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 日期 0 2021-10-06 1 2022-12-31 2 2023-11-7 ---------- ---------- 日期 月 日 是否年底 0 2021-10-06 10 6 False 1 2022-12-31 12 31 True 2 2023-11-7 11 7 False C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'日期时间':['2021-12-31 13:23:2','2022-03-5 08:12:18','2023-11-07 02:01:00',]}) print(df) print("-" * 10) print("-" * 10) Date_1 = pd.to_datetime(df['日期时间']) df["是否年底"] = Date_1.dt.is_year_end #从日期时间判断是否为年底最后一天 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 日期时间 0 2021-12-31 13:23:2 1 2022-03-5 08:12:18 2 2023-11-07 02:01:00 ---------- ---------- 日期时间 是否年底 0 2021-12-31 13:23:2 True 1 2022-03-5 08:12:18 False 2 2023-11-07 02:01:00 False C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'Year':[2021,2022,2023],'Month':[10,3,2],'Day':[6,5,15]}) # year、month、day是必选的,并且必须是英文 df['组合后的日期'] = pd.to_datetime(df) #将多个数据组合为日期 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Year Month Day 组合后的日期 0 2021 10 6 2021-10-06 1 2022 3 5 2022-03-05 2 2023 2 15 2023-02-15 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'Year':[2021,2022,2023],'month':[10,3,2],'day':[6,5,15]}) # year、month、day是必选的,并且必须是英文 df['组合后的日期'] = pd.to_datetime(df) #将多个数据组合为日期 print(df) print("-" * 10) print("-" * 10) df.rename(columns={'Year':'年','month':'月','day':'日'},inplace=True) #修改多个列标题 print(df) print("-" * 10) ## 不输出索引: Result_1 = df.to_string(index=False) print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Year month day 组合后的日期 0 2021 10 6 2021-10-06 1 2022 3 5 2022-03-05 2 2023 2 15 2023-02-15 ---------- ---------- 年 月 日 组合后的日期 0 2021 10 6 2021-10-06 1 2022 3 5 2022-03-05 2 2023 2 15 2023-02-15 ---------- 年 月 日 组合后的日期 2021 10 6 2021-10-06 2022 3 5 2022-03-05 2023 2 15 2023-02-15 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'], 'Year':[2021,2022,2023],'Month':[10,3,2],'DAY':[6,5,15]}) # year、month、day是必选的,并且必须是英文 print(df) print("-" * 10) print("-" * 10) ## 删除列标题为“买家姓名”的数据: df.drop(['买家姓名'],axis=1,inplace=True) df['组合后的日期'] = pd.to_datetime(df) #将多个数据组合为日期 print(df) ## 一次性删除列标题为“Year”、“Month”、“DAY”的数据: df.drop(['Year','Month','DAY'],axis=1,inplace=True) print("-" * 10) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 Year Month DAY 0 李大杰 2021 10 6 1 Jacky 2022 3 5 2 zhuohua 2023 2 15 ---------- ---------- Year Month DAY 组合后的日期 0 2021 10 6 2021-10-06 1 2022 3 5 2022-03-05 2 2023 2 15 2023-02-15 ---------- 组合后的日期 0 2021-10-06 1 2022-03-05 2 2023-02-15 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'year':[2021,2022,2023],'month':[10,3,2],'day':[6,5,15], 'hour':[13,8,2],'minute':[23,12,1],'second':[2,18,0] }) # hour、minute、second是可选的 df['组合后的日期时间'] = pd.to_datetime(df) #将多个数据组合为日期时间 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py year month day hour minute second 组合后的日期时间 0 2021 10 6 13 23 2 2021-10-06 13:23:02 1 2022 3 5 8 12 18 2022-03-05 08:12:18 2 2023 2 15 2 1 0 2023-02-15 02:01:00 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'year':[2021,2022,2023],'month':[10,3,2],'day':[6,5,15], 'Hour':[13,8,2],'minute':[23,12,1],'second':[2,18,0], }) df['组合后的日期时间'] = pd.to_datetime(df) #将多个数据组合为日期时间 print(df) print("-" * 10) print("-" * 10) ## 修改多个列标题: Col_1 = {'year':'年','month':'月','day':'日','Hour':'时','minute':'分','second':'秒'} df.rename(columns=Col_1,inplace=True) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py year month day Hour minute second 组合后的日期时间 0 2021 10 6 13 23 2 2021-10-06 13:23:02 1 2022 3 5 8 12 18 2022-03-05 08:12:18 2 2023 2 15 2 1 0 2023-02-15 02:01:00 ---------- ---------- 年 月 日 时 分 秒 组合后的日期时间 0 2021 10 6 13 23 2 2021-10-06 13:23:02 1 2022 3 5 8 12 18 2022-03-05 08:12:18 2 2023 2 15 2 1 0 2023-02-15 02:01:00 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'日期时间':['2021-10-06 13:23:02','2022-03-05 08:12:18','2023-02-15 02:01:00',]}) print(df) print("-" * 10) print("-" * 10) ## 使用split函数分割"日期时间"这一列的数据: Result_1 = df['日期时间'].str.split(' ',expand=True) #这里的分隔符为空格 df['日期'] = Result_1[0] df['时间'] = Result_1[1] print(df) print("-" * 10) ## 删除列标题为“日期时间”的数据: df.drop(['日期时间'],axis=1,inplace=True) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 日期时间 0 2021-10-06 13:23:02 1 2022-03-05 08:12:18 2 2023-02-15 02:01:00 ---------- ---------- 日期时间 日期 时间 0 2021-10-06 13:23:02 2021-10-06 13:23:02 1 2022-03-05 08:12:18 2022-03-05 08:12:18 2 2023-02-15 02:01:00 2023-02-15 02:01:00 ---------- 日期 时间 0 2021-10-06 13:23:02 1 2022-03-05 08:12:18 2 2023-02-15 02:01:00 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'year':[2021,2022,2023],'month':[10,3,2],'day':[6,5,15], 'hour':[13,8,2],'minute':[23,12,1],'second':[2,18,0] }) # hour、minute、second是可选的 df['组合后的日期时间'] = pd.to_datetime(df) #将多个数据组合为日期时间 print(df) print("-" * 10) print("-" * 10) ## 使用split函数分割"组合后的日期时间"这一列的数据: df['组合后的日期时间'] = df['组合后的日期时间'].astype(str) #使用astype函数转换数据类型 Result_1 = df['组合后的日期时间'].str.split(' ',expand=True) #这里的分隔符为空格 df['日期'] = Result_1[0] df['时间'] = Result_1[1] print(df) print("-" * 10) ## 输出“组合后的日期时间”、“日期”、“时间”的列数据: Result_2 = df[['组合后的日期时间','日期','时间']] print(Result_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py year month day hour minute second 组合后的日期时间 0 2021 10 6 13 23 2 2021-10-06 13:23:02 1 2022 3 5 8 12 18 2022-03-05 08:12:18 2 2023 2 15 2 1 0 2023-02-15 02:01:00 ---------- ---------- year month day hour minute second 组合后的日期时间 日期 时间 0 2021 10 6 13 23 2 2021-10-06 13:23:02 2021-10-06 13:23:02 1 2022 3 5 8 12 18 2022-03-05 08:12:18 2022-03-05 08:12:18 2 2023 2 15 2 1 0 2023-02-15 02:01:00 2023-02-15 02:01:00 ---------- 组合后的日期时间 日期 时间 0 2021-10-06 13:23:02 2021-10-06 13:23:02 1 2022-03-05 08:12:18 2022-03-05 08:12:18 2 2023-02-15 02:01:00 2023-02-15 02:01:00 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'订单付款时间':['2023-12-31','2022-03-05','2023-11-07'], '买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80],}) print(df) print("-" * 10) print("-" * 10) df.sort_values(by='订单付款时间',ascending=True, inplace=True) #按“订单付款时间”进行排序(升序) print(df) print("-" * 10) df.sort_values(by='订单付款时间',ascending=False, inplace=True) #按“订单付款时间”进行排序(降序) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 订单付款时间 买家姓名 支付金额 0 2023-12-31 李大杰 30 1 2022-03-05 Jacky 40 2 2023-11-07 zhuohua 80 ---------- ---------- 订单付款时间 买家姓名 支付金额 1 2022-03-05 Jacky 40 2 2023-11-07 zhuohua 80 0 2023-12-31 李大杰 30 ---------- 订单付款时间 买家姓名 支付金额 0 2023-12-31 李大杰 30 2 2023-11-07 zhuohua 80 1 2022-03-05 Jacky 40 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'订单付款时间':['2023-11-07 08:12:18','2022-03-05','2023-11-07 08:20:18'], '买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80],}) print(df) print("-" * 10) print("-" * 10) df.sort_values(by='订单付款时间',ascending=True, inplace=True) #按“订单付款时间”进行排序(升序) print(df) print("-" * 10) df.sort_values(by='订单付款时间',ascending=False, inplace=True) #按“订单付款时间”进行排序(降序) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 订单付款时间 买家姓名 支付金额 0 2023-11-07 08:12:18 李大杰 30 1 2022-03-05 Jacky 40 2 2023-11-07 08:20:18 zhuohua 80 ---------- ---------- 订单付款时间 买家姓名 支付金额 1 2022-03-05 Jacky 40 0 2023-11-07 08:12:18 李大杰 30 2 2023-11-07 08:20:18 zhuohua 80 ---------- 订单付款时间 买家姓名 支付金额 2 2023-11-07 08:20:18 zhuohua 80 0 2023-11-07 08:12:18 李大杰 30 1 2022-03-05 Jacky 40 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'订单付款时间':['2023-12-31','2022-03-05','2023-11-07'], '买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80],}) print(df) print("-" * 10) print("-" * 10) df = df.set_index('订单付款时间') #设置指定列的数据为索引 df.sort_values(by='订单付款时间',ascending=True, inplace=True) #按“订单付款时间”进行排序(升序) print(df) print("-" * 10) df.sort_values(by='订单付款时间',ascending=False, inplace=True) #按“订单付款时间”进行排序(降序) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 订单付款时间 买家姓名 支付金额 0 2023-12-31 李大杰 30 1 2022-03-05 Jacky 40 2 2023-11-07 zhuohua 80 ---------- ---------- 买家姓名 支付金额 订单付款时间 2022-03-05 Jacky 40 2023-11-07 zhuohua 80 2023-12-31 李大杰 30 ---------- 买家姓名 支付金额 订单付款时间 2023-12-31 李大杰 30 2023-11-07 zhuohua 80 2022-03-05 Jacky 40 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2023-11-07 08:12:18','2022-03-05','2023-11-07 08:20:18'],}) print(df) print("-" * 10) print("-" * 10) df = df.set_index('订单付款时间') #设置指定列的数据为索引 df.sort_values(by='订单付款时间',ascending=True, inplace=True) #按“订单付款时间”进行排序(升序) print(df) print("-" * 10) df.sort_values(by='订单付款时间',ascending=False, inplace=True) #按“订单付款时间”进行排序(降序) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2023-11-07 08:12:18 1 Jacky 40 2022-03-05 2 zhuohua 80 2023-11-07 08:20:18 ---------- ---------- 买家姓名 支付金额 订单付款时间 2022-03-05 Jacky 40 2023-11-07 08:12:18 李大杰 30 2023-11-07 08:20:18 zhuohua 80 ---------- 买家姓名 支付金额 订单付款时间 2023-11-07 08:20:18 zhuohua 80 2023-11-07 08:12:18 李大杰 30 2022-03-05 Jacky 40 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'订单付款时间':['2021-12-31','2022-03-05','2023-11-07'], '买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80],}) print(df) print("-" * 10) print("-" * 10) df = df.set_index('订单付款时间') #设置指定列的数据为索引 print(df['2021-12-31':'2022-03-05']) #获取某个日期区间的数据 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 订单付款时间 买家姓名 支付金额 0 2021-12-31 李大杰 30 1 2022-03-05 Jacky 40 2 2023-11-07 zhuohua 80 ---------- ---------- 买家姓名 支付金额 订单付款时间 2021-12-31 李大杰 30 2022-03-05 Jacky 40 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-03-05','2023-11-07'] }) print(df) print("-" * 10) print("-" * 10) df = df.set_index('订单付款时间') #设置指定列的数据为索引 print(df['2021-12-30':'2022-03-06']) #获取某个日期区间的数据 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-03-05 2 zhuohua 80 2023-11-07 ---------- ---------- 买家姓名 支付金额 订单付款时间 2021-12-31 李大杰 30 2022-03-05 Jacky 40 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-03-05','2023-11-07'] }) print(df) print("-" * 10) print("-" * 10) df = df.set_index('订单付款时间') #设置指定列的数据为索引 ## 获取某个日期区间的数据: Result_1 = df['2021-12-31':'2022-03-04'] print(Result_1) print("-" * 10) ## 获取某个日期区间的数据: Result_2 = df['2022-01-01':'2022-03-05'] print(Result_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-03-05 2 zhuohua 80 2023-11-07 ---------- ---------- 买家姓名 支付金额 订单付款时间 2021-12-31 李大杰 30 ---------- 买家姓名 支付金额 订单付款时间 2022-03-05 Jacky 40 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'订单付款时间':['2021-12-31 13:23:02','2022-03-05 08:12:18','2023-11-07 02:01:00'], '买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80]}) print(df) print("-" * 10) print("-" * 10) df = df.set_index('订单付款时间') #设置指定列的数据为索引 print(df['2021-12-31':'2022-03-05']) #获取某个日期区间的数据 print("-" * 10) print(df['2021-12-31':'2022-03-06']) #获取某个日期区间的数据 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 订单付款时间 买家姓名 支付金额 0 2021-12-31 13:23:02 李大杰 30 1 2022-03-05 08:12:18 Jacky 40 2 2023-11-07 02:01:00 zhuohua 80 ---------- ---------- 买家姓名 支付金额 订单付款时间 2021-12-31 13:23:02 李大杰 30 ---------- 买家姓名 支付金额 订单付款时间 2021-12-31 13:23:02 李大杰 30 2022-03-05 08:12:18 Jacky 40 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'订单付款时间':['2021-12-31 13:23:02','2022-03-05 08:12:18','2023-11-07 02:01:00'], '买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80]}) print(df) print("-" * 10) print("-" * 10) df = df.set_index('订单付款时间') #设置指定列的数据为索引 print(df['2021-12-31 00:00:00':'2022-03-05 00:00:00']) #获取某个日期时间区间的数据 print("-" * 10) print(df['2021-12-31 00:00:00':'2022-03-05 09:00:00']) #获取某个日期时间区间的数据 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 订单付款时间 买家姓名 支付金额 0 2021-12-31 13:23:02 李大杰 30 1 2022-03-05 08:12:18 Jacky 40 2 2023-11-07 02:01:00 zhuohua 80 ---------- ---------- 买家姓名 支付金额 订单付款时间 2021-12-31 13:23:02 李大杰 30 ---------- 买家姓名 支付金额 订单付款时间 2021-12-31 13:23:02 李大杰 30 2022-03-05 08:12:18 Jacky 40 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31 13:23:02','2022-03-05 08:12:18','2023-11-07 02:01:00'], }) print(df) print("-" * 10) print("-" * 10) df = df.set_index('订单付款时间') #设置指定列的数据为索引 print(df['2021-12-31 00:00:00':'2022-03-05 08:12:00']) #获取某个日期时间区间的数据 print("-" * 10) print(df['2021-12-31 00:00:00':'2022-03-05 08:12:18']) #获取某个日期时间区间的数据 print("-" * 10) print(df['2021-12-31 13:00:00':'2022-03-05 08:12:19']) #获取某个日期时间区间的数据 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 13:23:02 1 Jacky 40 2022-03-05 08:12:18 2 zhuohua 80 2023-11-07 02:01:00 ---------- ---------- 买家姓名 支付金额 订单付款时间 2021-12-31 13:23:02 李大杰 30 ---------- 买家姓名 支付金额 订单付款时间 2021-12-31 13:23:02 李大杰 30 2022-03-05 08:12:18 Jacky 40 ---------- 买家姓名 支付金额 订单付款时间 2021-12-31 13:23:02 李大杰 30 2022-03-05 08:12:18 Jacky 40 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-03-05','2023-11-07'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 print(df['2022']) #获取某一年的数据 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-03-05 2 zhuohua 80 2023-11-07 ---------- ---------- 买家姓名 支付金额 订单付款时间 2022-03-05 Jacky 40 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2022-12-31','2022-03-05','2023-11-07'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 ## 获取某一年的数据: Result_1 = df['2022'] print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2022-12-31 1 Jacky 40 2022-03-05 2 zhuohua 80 2023-11-07 ---------- ---------- 买家姓名 支付金额 订单付款时间 2022-12-31 李大杰 30 2022-03-05 Jacky 40 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-03-05','2023-11-07'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 print(df['2022-02']) #获取某一个月的数据 print("-" * 10) print(df['2022-03']) #获取某一个月的数据 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-03-05 2 zhuohua 80 2023-11-07 ---------- ---------- Empty DataFrame Columns: [买家姓名, 支付金额] Index: [] ---------- 买家姓名 支付金额 订单付款时间 2022-03-05 Jacky 40 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-03-05','2023-11-07'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 print(df['2022-03-03':'2022-03-03']) #获取某一天的数据 print("-" * 10) print(df['2022-03-05':'2022-03-05']) #获取某一天的数据 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-03-05 2 zhuohua 80 2023-11-07 ---------- ---------- Empty DataFrame Columns: [买家姓名, 支付金额] Index: [] ---------- 买家姓名 支付金额 订单付款时间 2022-03-05 Jacky 40 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-03-05','2023-11-07'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 print(df['2022-03-03':'2023-11-07']) #获取连续几天的数据 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-03-05 2 zhuohua 80 2023-11-07 ---------- ---------- 买家姓名 支付金额 订单付款时间 2022-03-05 Jacky 40 2023-11-07 zhuohua 80 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-03-05','2022-11-7 08:12:18'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 print(df['2022']) #获取某一年的数据 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-03-05 2 zhuohua 80 2022-11-7 08:12:18 ---------- ---------- 买家姓名 支付金额 订单付款时间 2022-03-05 00:00:00 Jacky 40 2022-11-07 08:12:18 zhuohua 80 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2022-12-31','2022-03-05','2022-3-17 08:12:18'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 print(df['2022-03']) #获取某一个月的数据 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2022-12-31 1 Jacky 40 2022-03-05 2 zhuohua 80 2022-3-17 08:12:18 ---------- ---------- 买家姓名 支付金额 订单付款时间 2022-03-05 00:00:00 Jacky 40 2022-03-17 08:12:18 zhuohua 80 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-03-05','2022-3-5 08:12:18'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 print(df['2022-03-05':'2022-03-05']) #获取某一天的数据 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-03-05 2 zhuohua 80 2022-3-5 08:12:18 ---------- ---------- 买家姓名 支付金额 订单付款时间 2022-03-05 00:00:00 Jacky 40 2022-03-05 08:12:18 zhuohua 80 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-03-05','2022-03-09 08:12:18'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 print(df['2022-03-05':'2022-03-09']) #获取连续几天的数据 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-03-05 2 zhuohua 80 2022-03-09 08:12:18 ---------- ---------- 买家姓名 支付金额 订单付款时间 2022-03-05 00:00:00 Jacky 40 2022-03-09 08:12:18 zhuohua 80 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-03-05','2022-03-09 08:12:18'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 print(df['2022-03-05':'2022-03-09 08:10:18']) #获取连续几天的数据 print("-" * 10) print(df['2022-03-05 00:12:18':'2022-03-09 08:12:18']) #获取连续几天的数据 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-03-05 2 zhuohua 80 2022-03-09 08:12:18 ---------- ---------- 买家姓名 支付金额 订单付款时间 2022-03-05 Jacky 40 ---------- 买家姓名 支付金额 订单付款时间 2022-03-09 08:12:18 zhuohua 80 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-03-05','2022-12-12'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) df = df.resample('AS').sum().to_period('A') #按年统计数据(求和) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-03-05 2 zhuohua 80 2022-12-12 ---------- ---------- 支付金额 订单付款时间 2021 30 2022 120 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'买家年龄':[35,45,55],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-03-05','2022-3-5 08:12:18'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) df = df.resample('AS').sum().to_period('A') #按年统计数据(求和) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 买家年龄 支付金额 订单付款时间 0 李大杰 35 30 2021-12-31 1 Jacky 45 40 2022-03-05 2 zhuohua 55 80 2022-3-5 08:12:18 ---------- ---------- 买家年龄 支付金额 订单付款时间 2021 35 30 2022 100 120 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'买家年龄':[35,45,55],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-03-05','2022-03-05 08:12:18'] }) print(df) print("-" * 10) print("-" * 10) ## 一次性删除列标题为“买家年龄”、“买家姓名”的数据: df.drop(['买家年龄','买家姓名'],axis=1,inplace=True) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) df = df.resample('AS').sum().to_period('A') #按年统计数据(求和) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 买家年龄 支付金额 订单付款时间 0 李大杰 35 30 2021-12-31 1 Jacky 45 40 2022-03-05 2 zhuohua 55 80 2022-03-05 08:12:18 ---------- ---------- 支付金额 订单付款时间 2021 30 2022 120 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-01-05','2022-4-5 08:12:18'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) df = df.resample('Q').sum().to_period('Q') #按季度统计数据(求和) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-01-05 2 zhuohua 80 2022-4-5 08:12:18 ---------- ---------- 支付金额 订单付款时间 2021Q4 30 2022Q1 40 2022Q2 80 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-01-05','2022-3-5 08:12:18'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) df = df.resample('Q').sum().to_period('Q') #按季度统计数据(求和) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-01-05 2 zhuohua 80 2022-3-5 08:12:18 ---------- ---------- 支付金额 订单付款时间 2021Q4 30 2022Q1 120 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-01-05','2022-1-8 08:12:18'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) df = df.resample('M').sum().to_period('M') #按月统计数据(求和) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-01-05 2 zhuohua 80 2022-1-8 08:12:18 ---------- ---------- 支付金额 订单付款时间 2021-12 30 2022-01 120 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-01-05','2022-4-8 08:12:18'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) df = df.resample('M').sum().to_period('M') #按月统计数据(求和) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-01-05 2 zhuohua 80 2022-4-8 08:12:18 ---------- ---------- 支付金额 订单付款时间 2021-12 30 2022-01 40 2022-02 0 2022-03 0 2022-04 80 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-01-05','2022-1-8 08:12:18'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) df = df.resample('W').sum().to_period('W') #按星期统计数据(求和) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-01-05 2 zhuohua 80 2022-1-8 08:12:18 ---------- ---------- 支付金额 订单付款时间 2021-12-27/2022-01-02 30 2022-01-03/2022-01-09 120 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-01-02','2022-4-8 08:12:18'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) df = df.resample('W').sum().to_period('W') #按星期统计数据(求和) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-01-02 2 zhuohua 80 2022-4-8 08:12:18 ---------- ---------- 支付金额 订单付款时间 2021-12-27/2022-01-02 70 2022-01-03/2022-01-09 0 2022-01-10/2022-01-16 0 2022-01-17/2022-01-23 0 2022-01-24/2022-01-30 0 2022-01-31/2022-02-06 0 2022-02-07/2022-02-13 0 2022-02-14/2022-02-20 0 2022-02-21/2022-02-27 0 2022-02-28/2022-03-06 0 2022-03-07/2022-03-13 0 2022-03-14/2022-03-20 0 2022-03-21/2022-03-27 0 2022-03-28/2022-04-03 0 2022-04-04/2022-04-10 80 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 首先创建一个包含9个一小时的时间序列: index = pd.date_range('02/02/2023',periods=9,freq='H') df = pd.Series(range(9), index=index) print(df) print("-" * 10) print("-" * 10) print(df.resample('3H').sum()) #将时间序列转换为3小时后求和(降采样处理) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 2023-02-02 00:00:00 0 2023-02-02 01:00:00 1 2023-02-02 02:00:00 2 2023-02-02 03:00:00 3 2023-02-02 04:00:00 4 2023-02-02 05:00:00 5 2023-02-02 06:00:00 6 2023-02-02 07:00:00 7 2023-02-02 08:00:00 8 Freq: H, dtype: int64 ---------- ---------- 2023-02-02 00:00:00 3 2023-02-02 03:00:00 12 2023-02-02 06:00:00 21 Freq: 3H, dtype: int64 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2023-02-02 01:00:00','2023-02-02 02:00:20','2023-02-02 03:07:00'] }) print(df) print("-" * 10) print("-" * 10) df.rename(columns={'订单付款时间':'订单付款时间(每隔两个小时求一次和)'},inplace=True) #修改一个列标题 df = df.set_index('订单付款时间(每隔两个小时求一次和)') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) ## 将时间序列转换为2小时后求和: Result_1 = df.resample('2H').sum() print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2023-02-02 01:00:00 1 Jacky 40 2023-02-02 02:00:20 2 zhuohua 80 2023-02-02 03:07:00 ---------- ---------- 支付金额 订单付款时间(每隔两个小时求一次和) 2023-02-02 00:00:00 30 2023-02-02 02:00:00 120 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2023-02-02 00:00:01','2023-02-02 01:10:20','2023-02-02 13:07:00'] }) print(df) print("-" * 10) print("-" * 10) df.rename(columns={'订单付款时间':'订单付款时间(每隔两个小时求一次和)'},inplace=True) #修改一个列标题 df = df.set_index('订单付款时间(每隔两个小时求一次和)') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) ## 将时间序列转换为2小时后求和: Result_1 = df.resample('2H').sum() print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2023-02-02 00:00:01 1 Jacky 40 2023-02-02 01:10:20 2 zhuohua 80 2023-02-02 13:07:00 ---------- ---------- 支付金额 订单付款时间(每隔两个小时求一次和) 2023-02-02 00:00:00 70 2023-02-02 02:00:00 0 2023-02-02 04:00:00 0 2023-02-02 06:00:00 0 2023-02-02 08:00:00 0 2023-02-02 10:00:00 0 2023-02-02 12:00:00 80 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 首先创建一个包含9个一分钟的时间序列: index = pd.date_range('02/02/2023',periods=9,freq='T') df = pd.Series(range(9), index=index) print(df) print("-" * 10) print("-" * 10) print(df.resample('3T').sum()) #将时间序列转换为3分钟后求和(降采样处理) print("-" * 10) print(df.resample('4T').sum()) #将时间序列转换为4分钟后求和(降采样处理) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 2023-02-02 00:00:00 0 2023-02-02 00:01:00 1 2023-02-02 00:02:00 2 2023-02-02 00:03:00 3 2023-02-02 00:04:00 4 2023-02-02 00:05:00 5 2023-02-02 00:06:00 6 2023-02-02 00:07:00 7 2023-02-02 00:08:00 8 Freq: T, dtype: int64 ---------- ---------- 2023-02-02 00:00:00 3 2023-02-02 00:03:00 12 2023-02-02 00:06:00 21 Freq: 3T, dtype: int64 ---------- 2023-02-02 00:00:00 6 2023-02-02 00:04:00 22 2023-02-02 00:08:00 8 Freq: 4T, dtype: int64 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2023-02-02 01:00:00','2023-02-02 01:02:20','2023-02-02 01:07:40'] }) print(df) print("-" * 10) print("-" * 10) df.rename(columns={'订单付款时间':'订单付款时间(每隔三分钟求一次和)'},inplace=True) #修改一个列标题 df = df.set_index('订单付款时间(每隔三分钟求一次和)') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) ## 将时间序列转换为3分钟后求和: Result_1 = df.resample('3T').sum() print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2023-02-02 01:00:00 1 Jacky 40 2023-02-02 01:02:20 2 zhuohua 80 2023-02-02 01:07:40 ---------- ---------- 支付金额 订单付款时间(每隔三分钟求一次和) 2023-02-02 01:00:00 70 2023-02-02 01:03:00 0 2023-02-02 01:06:00 80 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Index_1 = pd.date_range('20230201','20230215') Data_1 = [3,6,7,4,2,1,3,8,9,10,12,15,13,22,14] df = pd.Series(Data_1,index=Index_1) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 2023-02-01 3 2023-02-02 6 2023-02-03 7 2023-02-04 4 2023-02-05 2 2023-02-06 1 2023-02-07 3 2023-02-08 8 2023-02-09 9 2023-02-10 10 2023-02-11 12 2023-02-12 15 2023-02-13 13 2023-02-14 22 2023-02-15 14 Freq: D, dtype: int64 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Index_1 = pd.date_range('20230201','20230215') Data_1 = [3,6,7,4,2,1,3,8,9,10,12,15,13,22,14] df = pd.Series(Data_1,index=Index_1) print(df) print("-" * 10) print(df.rolling(3).max()) #使用rolling函数计算每三个观测值的最大值,空值用NaN代替 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 2023-02-01 3 2023-02-02 6 2023-02-03 7 2023-02-04 4 2023-02-05 2 2023-02-06 1 2023-02-07 3 2023-02-08 8 2023-02-09 9 2023-02-10 10 2023-02-11 12 2023-02-12 15 2023-02-13 13 2023-02-14 22 2023-02-15 14 Freq: D, dtype: int64 ---------- 2023-02-01 NaN 2023-02-02 NaN 2023-02-03 7.0 2023-02-04 7.0 2023-02-05 7.0 2023-02-06 4.0 2023-02-07 3.0 2023-02-08 8.0 2023-02-09 9.0 2023-02-10 10.0 2023-02-11 12.0 2023-02-12 15.0 2023-02-13 15.0 2023-02-14 22.0 2023-02-15 22.0 Freq: D, dtype: float64 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Index_1 = pd.date_range('20230201','20230215') Data_1 = [3,6,7,4,2,1,3,8,9,10,12,15,13,22,14] df = pd.Series(Data_1,index=Index_1) print(df) print("-" * 10) print(df.rolling(3).min()) #使用rolling函数计算每三个观测值的最小值,空值用NaN代替 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 2023-02-01 3 2023-02-02 6 2023-02-03 7 2023-02-04 4 2023-02-05 2 2023-02-06 1 2023-02-07 3 2023-02-08 8 2023-02-09 9 2023-02-10 10 2023-02-11 12 2023-02-12 15 2023-02-13 13 2023-02-14 22 2023-02-15 14 Freq: D, dtype: int64 ---------- 2023-02-01 NaN 2023-02-02 NaN 2023-02-03 3.0 2023-02-04 4.0 2023-02-05 2.0 2023-02-06 1.0 2023-02-07 1.0 2023-02-08 1.0 2023-02-09 3.0 2023-02-10 8.0 2023-02-11 9.0 2023-02-12 10.0 2023-02-13 12.0 2023-02-14 13.0 2023-02-15 13.0 Freq: D, dtype: float64 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Index_1 = pd.date_range('20230201','20230215') Data_1 = [3,6,7,4,2,1,3,8,9,10,12,15,13,22,14] df = pd.Series(Data_1,index=Index_1) print(df) print("-" * 10) print(df.rolling(3).median()) #使用rolling函数计算每三个观测值的中位数,空值用NaN代替 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 2023-02-01 3 2023-02-02 6 2023-02-03 7 2023-02-04 4 2023-02-05 2 2023-02-06 1 2023-02-07 3 2023-02-08 8 2023-02-09 9 2023-02-10 10 2023-02-11 12 2023-02-12 15 2023-02-13 13 2023-02-14 22 2023-02-15 14 Freq: D, dtype: int64 ---------- 2023-02-01 NaN 2023-02-02 NaN 2023-02-03 6.0 2023-02-04 6.0 2023-02-05 4.0 2023-02-06 2.0 2023-02-07 2.0 2023-02-08 3.0 2023-02-09 8.0 2023-02-10 9.0 2023-02-11 10.0 2023-02-12 12.0 2023-02-13 13.0 2023-02-14 15.0 2023-02-15 14.0 Freq: D, dtype: float64 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Index_1 = pd.date_range('20230201','20230215') Data_1 = [3,6,7,4,2,1,3,8,9,10,12,15,13,22,14] df = pd.Series(Data_1,index=Index_1) print(df) print("-" * 10) print(df.rolling(3).sum()) #使用rolling函数计算每三个观测值的和,空值用NaN代替 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 2023-02-01 3 2023-02-02 6 2023-02-03 7 2023-02-04 4 2023-02-05 2 2023-02-06 1 2023-02-07 3 2023-02-08 8 2023-02-09 9 2023-02-10 10 2023-02-11 12 2023-02-12 15 2023-02-13 13 2023-02-14 22 2023-02-15 14 Freq: D, dtype: int64 ---------- 2023-02-01 NaN 2023-02-02 NaN 2023-02-03 16.0 2023-02-04 17.0 2023-02-05 13.0 2023-02-06 7.0 2023-02-07 6.0 2023-02-08 12.0 2023-02-09 20.0 2023-02-10 27.0 2023-02-11 31.0 2023-02-12 37.0 2023-02-13 40.0 2023-02-14 50.0 2023-02-15 49.0 Freq: D, dtype: float64 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-01-01','2022-01-02'] }) print(df) print("-" * 10) print("-" * 10) ## 删除列标题为“买家姓名”的数据: df.drop(['买家姓名'],axis=1,inplace=True) df.rename(columns={'订单付款时间':'订单付款时间(每隔3天统计一次)'},inplace=True) #修改一个列标题 df = df.set_index('订单付款时间(每隔3天统计一次)') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) print(df.rolling(3).sum()) #使用rolling函数计算每三个观测值的和,空值用NaN代替 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-01-01 2 zhuohua 80 2022-01-02 ---------- ---------- 支付金额 订单付款时间(每隔3天统计一次) 2021-12-31 NaN 2022-01-01 NaN 2022-01-02 150.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-01-01','2022-01-02'] }) print(df) print("-" * 10) print("-" * 10) ## 删除列标题为“买家姓名”的数据: df.drop(['买家姓名'],axis=1,inplace=True) df.rename(columns={'订单付款时间':'订单付款时间(每隔3天统计一次)'},inplace=True) #修改一个列标题 df = df.set_index('订单付款时间(每隔3天统计一次)') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) print(df.rolling(3,min_periods=2).sum()) #使用rolling函数计算每三个观测值的和;使用“min_periods”参数,不满3天的,求2天的和 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-01-01 2 zhuohua 80 2022-01-02 ---------- ---------- 支付金额 订单付款时间(每隔3天统计一次) 2021-12-31 NaN 2022-01-01 70.0 2022-01-02 150.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-01-01','2022-01-02'] }) print(df) print("-" * 10) print("-" * 10) ## 删除列标题为“买家姓名”的数据: df.drop(['买家姓名'],axis=1,inplace=True) df.rename(columns={'订单付款时间':'订单付款时间(每隔3天统计一次)'},inplace=True) #修改一个列标题 df = df.set_index('订单付款时间(每隔3天统计一次)') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) ## 使用rolling函数计算每三个观测值的和;使用“min_periods”参数,不满3天的,求1天的和: Reuslt_1 = df.rolling(3,min_periods=1).sum() print(Reuslt_1) 脚本运行的结果:(不满3天但满2天的求2天的和;不满3天也不满2天的求1天的和) C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-01-01 2 zhuohua 80 2022-01-02 ---------- ---------- 支付金额 订单付款时间(每隔3天统计一次) 2021-12-31 30.0 2022-01-01 70.0 2022-01-02 150.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-01-01','2022-01-02'] }) print(df) print("-" * 10) print("-" * 10) ## 删除列标题为“买家姓名”的数据: df.drop(['买家姓名'],axis=1,inplace=True) df.rename(columns={'订单付款时间':'订单付款时间(每隔2天统计一次)'},inplace=True) #修改一个列标题 df = df.set_index('订单付款时间(每隔2天统计一次)') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) print(df.rolling(2).mean()) #使用rolling函数计算每两个观测值的平均值,空值用NaN代替 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-01-01 2 zhuohua 80 2022-01-02 ---------- ---------- 支付金额 订单付款时间(每隔2天统计一次) 2021-12-31 NaN 2022-01-01 35.0 2022-01-02 60.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31 11:02:13','2022-01-01 01:13:16','2022-01-02 08:08:18'] }) print(df) print("-" * 10) print("-" * 10) ## 使用split函数分割"订单付款时间"这一列的数据: Result_1 = df['订单付款时间'].str.split(' ',expand=True) #这里的分隔符为空格 df['订单付款日期'] = Result_1[0] df['时间'] = Result_1[1] print(df) print("-" * 10) ## 一次性删除列标题为“订单付款时间”、、“时间”、“买家姓名”的数据: df.drop(['订单付款时间','时间','买家姓名'],axis=1,inplace=True) print(df) print("-" * 10) df.rename(columns={'订单付款日期':'订单付款日期(每隔2天统计一次)'},inplace=True) #修改一个列标题 df = df.set_index('订单付款日期(每隔2天统计一次)') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) print(df.rolling(2).mean()) #使用rolling函数计算每两个观测值的平均值,空值用NaN代替 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 11:02:13 1 Jacky 40 2022-01-01 01:13:16 2 zhuohua 80 2022-01-02 08:08:18 ---------- ---------- 买家姓名 支付金额 订单付款时间 订单付款日期 时间 0 李大杰 30 2021-12-31 11:02:13 2021-12-31 11:02:13 1 Jacky 40 2022-01-01 01:13:16 2022-01-01 01:13:16 2 zhuohua 80 2022-01-02 08:08:18 2022-01-02 08:08:18 ---------- 支付金额 订单付款日期 0 30 2021-12-31 1 40 2022-01-01 2 80 2022-01-02 ---------- 支付金额 订单付款日期(每隔2天统计一次) 2021-12-31 NaN 2022-01-01 35.0 2022-01-02 60.0 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd import numpy as np pd.set_option('display.unicode.east_asian_width',True) ## 创建一个时间序列,起始日期是2023-02-02,一共2天,每天的00:00:00对应的数值分别是1、2, ## 通过升采样处理为每6小时统计一次数据,空值用NaN代替: Index_1 = pd.date_range('20230202',periods=2) print(Index_1) print("-" * 10) df1 = pd.Series(np.arange(1,3),index=Index_1) print(df1) print("-" * 10) df2 = df1.resample('6H').asfreq() #将时间序列转换为6小时 print(df2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py DatetimeIndex(['2023-02-02', '2023-02-03'], dtype='datetime64[ns]', freq='D') ---------- 2023-02-02 1 2023-02-03 2 Freq: D, dtype: int32 ---------- 2023-02-02 00:00:00 1.0 2023-02-02 06:00:00 NaN 2023-02-02 12:00:00 NaN 2023-02-02 18:00:00 NaN 2023-02-03 00:00:00 2.0 Freq: 6H, dtype: float64 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd import numpy as np pd.set_option('display.unicode.east_asian_width',True) ## 创建一个时间序列,起始日期是2023-02-02,一共3天,每天的00:00:00对应的数值分别是1、2、3, ## 通过升采样处理为每8小时统计一次数据,空值用NaN代替: Index_1 = pd.date_range('20230202',periods=3) df1 = pd.Series(np.arange(1,4),index=Index_1) df2 = df1.resample('8H').asfreq() #将时间序列转换为8小时 print(df2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 2023-02-02 00:00:00 1.0 2023-02-02 08:00:00 NaN 2023-02-02 16:00:00 NaN 2023-02-03 00:00:00 2.0 2023-02-03 08:00:00 NaN 2023-02-03 16:00:00 NaN 2023-02-04 00:00:00 3.0 Freq: 8H, dtype: float64 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd import numpy as np pd.set_option('display.unicode.east_asian_width',True) ## 创建一个时间序列,起始日期是2023-02-02,一共3天,每天的00:00:00对应的数值分别是1、5、9, ## 通过升采样处理为每8小时统计一次数据,空值用NaN代替: Index_1 = pd.date_range('20230202','20230204') print(Index_1) print("-" * 10) df1 = pd.Series([1,5,9],index=Index_1) print(df1) print("-" * 10) df2 = df1.resample('8H').asfreq() #将时间序列转换为8小时 print(df2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py DatetimeIndex(['2023-02-02', '2023-02-03', '2023-02-04'], dtype='datetime64[ns]', freq='D') ---------- 2023-02-02 1 2023-02-03 5 2023-02-04 9 Freq: D, dtype: int64 ---------- 2023-02-02 00:00:00 1.0 2023-02-02 08:00:00 NaN 2023-02-02 16:00:00 NaN 2023-02-03 00:00:00 5.0 2023-02-03 08:00:00 NaN 2023-02-03 16:00:00 NaN 2023-02-04 00:00:00 9.0 Freq: 8H, dtype: float64 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd import numpy as np pd.set_option('display.unicode.east_asian_width',True) Index_1 = pd.date_range('20230202','20230204') print(Index_1) print("-" * 10) df1 = pd.Series(['李大杰','Jacky','zhuohua'],index=Index_1) print(df1) print("-" * 10) df2 = df1.resample('12H').asfreq() #将时间序列转换为12小时 print(df2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py DatetimeIndex(['2023-02-02', '2023-02-03', '2023-02-04'], dtype='datetime64[ns]', freq='D') ---------- 2023-02-02 李大杰 2023-02-03 Jacky 2023-02-04 zhuohua Freq: D, dtype: object ---------- 2023-02-02 00:00:00 李大杰 2023-02-02 12:00:00 NaN 2023-02-03 00:00:00 Jacky 2023-02-03 12:00:00 NaN 2023-02-04 00:00:00 zhuohua Freq: 12H, dtype: object C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd import numpy as np pd.set_option('display.unicode.east_asian_width',True) Index_1 = pd.date_range('3/2/2023',periods=12,freq='T') df = pd.Series(np.arange(12),index=Index_1) print(df) print("-" * 10) ## 在金融领域,会看到开盘价(open)、最高价(high)、最低价(low)、收盘价(close)等信息,使用Pandas的重采样也可以实现; Result_1 = df.resample('5min').ohlc() #使用ohlc函数将时间序列转换为5分钟后,获取每组的open、high、low、close print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 2023-03-02 00:00:00 0 2023-03-02 00:01:00 1 2023-03-02 00:02:00 2 2023-03-02 00:03:00 3 2023-03-02 00:04:00 4 2023-03-02 00:05:00 5 2023-03-02 00:06:00 6 2023-03-02 00:07:00 7 2023-03-02 00:08:00 8 2023-03-02 00:09:00 9 2023-03-02 00:10:00 10 2023-03-02 00:11:00 11 Freq: T, dtype: int32 ---------- open high low close 2023-03-02 00:00:00 0 4 0 4 2023-03-02 00:05:00 5 9 5 9 2023-03-02 00:10:00 10 11 10 11 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd import numpy as np pd.set_option('display.unicode.east_asian_width',True) Index_1 = pd.date_range('3/2/2023',periods=12,freq='H') df = pd.Series(np.arange(12),index=Index_1) print(df) print("-" * 10) Result_1 = df.resample('5H').ohlc() #使用ohlc函数将时间序列转换为5小时后,获取每组的open、high、low、close print(Result_1) print("-" * 10) Result_2 = df.resample('6H').ohlc() #使用ohlc函数将时间序列转换为6小时后,获取每组的open、high、low、close print(Result_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 2023-03-02 00:00:00 0 2023-03-02 01:00:00 1 2023-03-02 02:00:00 2 2023-03-02 03:00:00 3 2023-03-02 04:00:00 4 2023-03-02 05:00:00 5 2023-03-02 06:00:00 6 2023-03-02 07:00:00 7 2023-03-02 08:00:00 8 2023-03-02 09:00:00 9 2023-03-02 10:00:00 10 2023-03-02 11:00:00 11 Freq: H, dtype: int32 ---------- open high low close 2023-03-02 00:00:00 0 4 0 4 2023-03-02 05:00:00 5 9 5 9 2023-03-02 10:00:00 10 11 10 11 ---------- open high low close 2023-03-02 00:00:00 0 5 0 5 2023-03-02 06:00:00 6 11 6 11 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-01-05','2022-03-05'] }) print(df) print("-" * 10) print("-" * 10) ## 删除列标题为“买家姓名”的数据: df.drop(['买家姓名'],axis=1,inplace=True) df.rename(columns={'订单付款时间':'订单付款时间(每隔6天统计一次)'},inplace=True) #修改一个列标题 df = df.set_index('订单付款时间(每隔6天统计一次)') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) Result_1 = df.resample('6D').ohlc() #使用ohlc函数将时间序列转换为6天后,获取每组的open、high、low、close print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 1 Jacky 40 2022-01-05 2 zhuohua 80 2022-03-05 ---------- ---------- 支付金额 open high low close 订单付款时间(每隔6天统计一次) 2021-12-31 30.0 40.0 30.0 40.0 2022-01-06 NaN NaN NaN NaN 2022-01-12 NaN NaN NaN NaN 2022-01-18 NaN NaN NaN NaN 2022-01-24 NaN NaN NaN NaN 2022-01-30 NaN NaN NaN NaN 2022-02-05 NaN NaN NaN NaN 2022-02-11 NaN NaN NaN NaN 2022-02-17 NaN NaN NaN NaN 2022-02-23 NaN NaN NaN NaN 2022-03-01 80.0 80.0 80.0 80.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua','Mary'],'支付金额':[30,40,80,100.5], '订单付款时间':['2021-12-31','2022-01-05','2022-03-05 08:12:18','2022-03-10 12:12:18'] }) print(df) print("-" * 10) print("-" * 10) ## 删除列标题为“买家姓名”的数据: df.drop(['买家姓名'],axis=1,inplace=True) df.rename(columns={'订单付款时间':'订单付款时间(每隔10天统计一次)'},inplace=True) #修改一个列标题 df = df.set_index('订单付款时间(每隔10天统计一次)') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) Result_1 = df.resample('10D').ohlc() #使用ohlc函数将时间序列转换为10天后,获取每组的open、high、low、close print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30.0 2021-12-31 1 Jacky 40.0 2022-01-05 2 zhuohua 80.0 2022-03-05 08:12:18 3 Mary 100.5 2022-03-10 12:12:18 ---------- ---------- 支付金额 open high low close 订单付款时间(每隔10天统计一次) 2021-12-31 30.0 40.0 30.0 40.0 2022-01-10 NaN NaN NaN NaN 2022-01-20 NaN NaN NaN NaN 2022-01-30 NaN NaN NaN NaN 2022-02-09 NaN NaN NaN NaN 2022-02-19 NaN NaN NaN NaN 2022-03-01 80.0 100.5 80.0 100.5 C:\Users\jacky\Desktop> Pandas的导出和导入(htm文件): 列出当前环境所有已经安装的第三方库的名称和其版本号: C:\Users\jacky\Desktop>pip3 freeze lxml==4.9.3 numpy==1.19.5 pandas==1.1.5 python-dateutil==2.8.2 pytz==2023.3 six==1.16.0 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2022-12-31','2022-03-05','2023-11-07'] }) print(df) print("-" * 10) print("-" * 10) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 ## 获取某一年的数据: Result_1 = df['2022'] print(Result_1) print("-" * 10) Result_2 = Result_1.copy() Result_2.sort_values(by='订单付款时间',ascending=True, inplace=True) #按“订单付款时间”进行排序(升序) print(Result_2) ## 把结果导出到指定的htm文件: Result_2.to_html('D:/mybook_1.htm',index=True,header=True) #保留索引(行标题)、列标题 print("-" * 10) print("-" * 10) print("-" * 10) Result_3 = pd.read_html('D:/mybook_1.htm',encoding='utf-8') #导入指定的htm文件 print(Result_3) print("-" * 3) print(Result_3[0]) print("-" * 10) ## 修改多个列标题: Result_4 = Result_3[0] Result_4 .rename(columns={'Unnamed: 0_level_0':'Null','Unnamed: 1_level_1':'Null','Unnamed: 2_level_1':'Null'},inplace=True) print(Result_4 ) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2022-12-31 1 Jacky 40 2022-03-05 2 zhuohua 80 2023-11-07 ---------- ---------- 买家姓名 支付金额 订单付款时间 2022-12-31 李大杰 30 2022-03-05 Jacky 40 ---------- 买家姓名 支付金额 订单付款时间 2022-03-05 Jacky 40 2022-12-31 李大杰 30 ---------- ---------- ---------- [ Unnamed: 0_level_0 买家姓名 支付金额 订单付款时间 Unnamed: 1_level_1 Unnamed: 2_level_1 0 2022-03-05 Jacky 40 1 2022-12-31 李大杰 30] --- Unnamed: 0_level_0 买家姓名 支付金额 订单付款时间 Unnamed: 1_level_1 Unnamed: 2_level_1 0 2022-03-05 Jacky 40 1 2022-12-31 李大杰 30 ---------- Null 买家姓名 支付金额 订单付款时间 Null Null 0 2022-03-05 Jacky 40 1 2022-12-31 李大杰 30 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'支付金额':[30,40,80], '订单付款时间':['2021-12-31 13:23:02','2022-03-05 08:12:18','2023-11-07 02:01:00'], }) print(df) print("-" * 10) print("-" * 10) df = df.set_index('订单付款时间') #设置指定列的数据为索引 ## 获取某个日期时间区间的数据: Result_1 = df['2021-12-31 13:23:02':'2022-03-05 08:12:18'] print(Result_1) print("-" * 10) Result_2 = Result_1.copy() Result_2.sort_values(by='订单付款时间',ascending=False, inplace=True) #按“订单付款时间”进行排序(降序) print(Result_2) ## 把结果导出到指定的htm文件: Result_2.to_html('D:/mybook_2.htm',index=True,header=True) #保留索引(行标题)、列标题 print("-" * 10) print("-" * 10) print("-" * 10) Result_3 = pd.read_html('D:/mybook_2.htm',encoding='utf-8') #导入指定的htm文件 print(Result_3) print("-" * 3) print(Result_3[0]) print("-" * 10) ## 修改多个列标题: Result_4 = Result_3[0] Result_4 .rename(columns={'Unnamed: 0_level_0':'Null','Unnamed: 1_level_1':1,'Unnamed: 2_level_1':2},inplace=True) print(Result_4) print("-" * 3) ## 不输出索引: Result_5 = Result_4.to_string(index=False) print(Result_5) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额 订单付款时间 0 李大杰 30 2021-12-31 13:23:02 1 Jacky 40 2022-03-05 08:12:18 2 zhuohua 80 2023-11-07 02:01:00 ---------- ---------- 买家姓名 支付金额 订单付款时间 2021-12-31 13:23:02 李大杰 30 2022-03-05 08:12:18 Jacky 40 ---------- 买家姓名 支付金额 订单付款时间 2022-03-05 08:12:18 Jacky 40 2021-12-31 13:23:02 李大杰 30 ---------- ---------- ---------- [ Unnamed: 0_level_0 买家姓名 支付金额 订单付款时间 Unnamed: 1_level_1 Unnamed: 2_level_1 0 2022-03-05 08:12:18 Jacky 40 1 2021-12-31 13:23:02 李大杰 30] --- Unnamed: 0_level_0 买家姓名 支付金额 订单付款时间 Unnamed: 1_level_1 Unnamed: 2_level_1 0 2022-03-05 08:12:18 Jacky 40 1 2021-12-31 13:23:02 李大杰 30 ---------- Null 买家姓名 支付金额 订单付款时间 1 2 0 2022-03-05 08:12:18 Jacky 40 1 2021-12-31 13:23:02 李大杰 30 --- Null 买家姓名 支付金额 订单付款时间 1 2 2022-03-05 08:12:18 Jacky 40 2021-12-31 13:23:02 李大杰 30 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 使用字典创建DataFrame数据: df = pd.DataFrame({'买家姓名':['李大杰','Jacky','zhuohua'],'买家年龄':[35,45,55],'支付金额':[30,40,80], '订单付款时间':['2021-12-31','2022-03-05','2022-03-05 08:12:18'] }) print(df) print("-" * 10) print("-" * 10) ## 一次性删除列标题为“买家年龄”、“买家姓名”的数据: df.drop(['买家年龄','买家姓名'],axis=1,inplace=True) df['订单付款时间'] = pd.to_datetime(df['订单付款时间']) #转换为datetime类型 df = df.set_index('订单付款时间') #设置指定列的数据为索引 df.index = pd.to_datetime(df.index) df = df.resample('AS').sum().to_period('A') #按年统计数据(求和) Result_1 = df print(Result_1) print("-" * 10) Result_2 = Result_1.copy() Result_2.sort_values(by='订单付款时间',ascending=False, inplace=True) #按“订单付款时间”进行排序(降序) print(Result_2) ## 把结果导出到指定的htm文件: Result_2.to_html('D:/mybook_3.htm',index=True,header=True) #保留索引(行标题)、列标题 print("-" * 10) print("-" * 10) print("-" * 10) Result_3 = pd.read_html('D:/mybook_3.htm',encoding='utf-8') #导入指定的htm文件 print(Result_3) print("-" * 3) print(Result_3[0]) print("-" * 10) ## 修改多个列标题: Result_4 = Result_3[0] Result_4 .rename(columns={'Unnamed: 0_level_0':' ','Unnamed: 1_level_1':' '},inplace=True) print(Result_4) print("-" * 3) ## 不输出索引: Result_5 = Result_4.to_string(index=False) print(Result_5) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 买家年龄 支付金额 订单付款时间 0 李大杰 35 30 2021-12-31 1 Jacky 45 40 2022-03-05 2 zhuohua 55 80 2022-03-05 08:12:18 ---------- ---------- 支付金额 订单付款时间 2021 30 2022 120 ---------- 支付金额 订单付款时间 2022 120 2021 30 ---------- ---------- ---------- [ Unnamed: 0_level_0 支付金额 订单付款时间 Unnamed: 1_level_1 0 2022 120 1 2021 30] --- Unnamed: 0_level_0 支付金额 订单付款时间 Unnamed: 1_level_1 0 2022 120 1 2021 30 ---------- 支付金额 订单付款时间 0 2022 120 1 2021 30 --- 支付金额 订单付款时间 2022 120 2021 30 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.read_html('D:/mybook_3.htm',encoding='utf-8') #导入指定的htm文件 print(df1) print("-" * 3) print(df1[0]) ## 把结果导出到指定的html文件: df1[0].to_html('D:/Mybook-3.html',index=False,header=True) #不保留索引(行标题),但保留列标题 print("-" * 10) print("-" * 10) df2 = pd.read_html('D:/Mybook-3.html',encoding='utf-8') #导入指定的html文件 print(df2) print("-" * 3) print(df2[0]) print("-" * 10) ## 修改多个列标题: Result_1 = df2[0] Result_1 .rename(columns={'Unnamed: 0_level_0':' ','Unnamed: 1_level_1':' '},inplace=True) print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py [ Unnamed: 0_level_0 支付金额 订单付款时间 Unnamed: 1_level_1 0 2022 120 1 2021 30] --- Unnamed: 0_level_0 支付金额 订单付款时间 Unnamed: 1_level_1 0 2022 120 1 2021 30 ---------- ---------- [ Unnamed: 0_level_0 支付金额 订单付款时间 Unnamed: 1_level_1 0 2022 120 1 2021 30] --- Unnamed: 0_level_0 支付金额 订单付款时间 Unnamed: 1_level_1 0 2022 120 1 2021 30 ---------- 支付金额 订单付款时间 0 2022 120 1 2021 30 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.read_html('D:/Mybook-3.html',encoding='utf-8') #导入指定的html文件 print(df1) print("-" * 3) print(df1[0]) print("-" * 3) ## 修改多个列标题: Result_1 = df1[0] Result_1.rename(columns={'Unnamed: 0_level_0':' ','Unnamed: 1_level_1':' ', '订单付款时间':'订单付款时间(按年求和)','支付金额':'支付金额(万)'},inplace=True) print(Result_1) ## 把结果导出到指定的htm文件: Result_1.to_html('D:/mybook_3.htm',index=False,header=True) #不保留索引(行标题),但保留列标题 print("-" * 10) print("-" * 10) df2 = pd.read_html('D:/mybook_3.htm',encoding='utf-8') #导入指定的htm文件 print(df2) print("-" * 3) print(df2[0]) print("-" * 3) ## 修改多个列标题: Result_2 = df2[0] Result_2 .rename(columns={'Unnamed: 0_level_0':' ','Unnamed: 1_level_1':' '},inplace=True) print(Result_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py [ Unnamed: 0_level_0 支付金额 订单付款时间 Unnamed: 1_level_1 0 2022 120 1 2021 30] --- Unnamed: 0_level_0 支付金额 订单付款时间 Unnamed: 1_level_1 0 2022 120 1 2021 30 --- 支付金额(万) 订单付款时间(按年求和) 0 2022 120 1 2021 30 ---------- ---------- [ Unnamed: 0_level_0 支付金额(万) 订单付款时间(按年求和) Unnamed: 1_level_1 0 2022 120 1 2021 30] --- Unnamed: 0_level_0 支付金额(万) 订单付款时间(按年求和) Unnamed: 1_level_1 0 2022 120 1 2021 30 --- 支付金额(万) 订单付款时间(按年求和) 0 2022 120 1 2021 30 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.read_html('d:/mybook_2.htm',encoding='utf-8') #导入指定的htm文件 print(df1) print("-" * 3) print(df1[0]) print("-" * 3) ## 修改多个列标题: Result_1 = df1[0] Result_1.rename(columns={'Unnamed: 0_level_0':' ','Unnamed: 1_level_1':' ','Unnamed: 2_level_1':' ', '订单付款时间':'订单付款时间(某个日期时间区间)','支付金额':'支付金额(万)'},inplace=True) print(Result_1) ## 把结果导出到指定的log文件: Result_1.to_csv('d:/mybook_2.log',sep='\t',index=False,header=True) #不保留索引(行标题),但保留列标题 print("-" * 10) print("-" * 10) df2 = pd.read_csv('D:/mybook_2.log',sep='\t',encoding='utf-8') #导入指定的log文件 print(df2) print("-" * 3) ## 不输出索引: df2 = df2.to_string(index=False) print(df2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py [ Unnamed: 0_level_0 买家姓名 支付金额 订单付款时间 Unnamed: 1_level_1 Unnamed: 2_level_1 0 2022-03-05 08:12:18 Jacky 40 1 2021-12-31 13:23:02 李大杰 30] --- Unnamed: 0_level_0 买家姓名 支付金额 订单付款时间 Unnamed: 1_level_1 Unnamed: 2_level_1 0 2022-03-05 08:12:18 Jacky 40 1 2021-12-31 13:23:02 李大杰 30 --- 买家姓名 支付金额(万) 订单付款时间(某个日期时间区间) 0 2022-03-05 08:12:18 Jacky 40 1 2021-12-31 13:23:02 李大杰 30 ---------- ---------- 买家姓名 支付金额(万) 0 订单付款时间(某个日期时间区间) 1 2022-03-05 08:12:18 Jacky 40 2 2021-12-31 13:23:02 李大杰 30 --- 买家姓名 支付金额(万) 订单付款时间(某个日期时间区间) 2022-03-05 08:12:18 Jacky 40 2021-12-31 13:23:02 李大杰 30 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.read_csv('D:/mybook_2.log',sep='\t',encoding='utf-8') #导入指定的log文件 print(df1) ## 把结果导出到指定的htm文件: df1.to_html('D:/mybook_2.htm',index=False,header=True) #不保留索引(行标题),但保留列标题 print("-" * 10) print("-" * 10) df2 = pd.read_html('D:/mybook_2.htm',encoding='utf-8') #导入指定的htm文件 print(df2) print("-" * 3) print(df2[0]) print("-" * 10) ## 修改一个列标题: Result_1 = df2[0] Result_1 .rename(columns={'Unnamed: 0':' '},inplace=True) print(Result_1) print("-" * 3) Result_1['买家姓名'] = Result_1['买家姓名'].fillna(' ') # 把“买家姓名”那一列的缺失值清空 Result_1['支付金额(万)'] = Result_1['支付金额(万)'].fillna(' ') # 把“支付金额(万)”那一列的缺失值清空 print(Result_1) print("-" * 3) ## 不输出索引: Result_1 = Result_1.to_string(index=False) print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 买家姓名 支付金额(万) 0 订单付款时间(某个日期时间区间) 1 2022-03-05 08:12:18 Jacky 40 2 2021-12-31 13:23:02 李大杰 30 ---------- ---------- [ Unnamed: 0 买家姓名 支付金额(万) 0 订单付款时间(某个日期时间区间) NaN NaN 1 2022-03-05 08:12:18 Jacky 40.0 2 2021-12-31 13:23:02 李大杰 30.0] --- Unnamed: 0 买家姓名 支付金额(万) 0 订单付款时间(某个日期时间区间) NaN NaN 1 2022-03-05 08:12:18 Jacky 40.0 2 2021-12-31 13:23:02 李大杰 30.0 ---------- 买家姓名 支付金额(万) 0 订单付款时间(某个日期时间区间) NaN NaN 1 2022-03-05 08:12:18 Jacky 40.0 2 2021-12-31 13:23:02 李大杰 30.0 --- 买家姓名 支付金额(万) 0 订单付款时间(某个日期时间区间) 1 2022-03-05 08:12:18 Jacky 40 2 2021-12-31 13:23:02 李大杰 30 --- 买家姓名 支付金额(万) 订单付款时间(某个日期时间区间) 2022-03-05 08:12:18 Jacky 40 2021-12-31 13:23:02 李大杰 30 C:\Users\jacky\Desktop> 相关文章: Pandas的基础 Pandas的进阶(二) Pandas的数据清洗 split()函数




欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/) Powered by Discuz! 7.2