pandas判断dataframe中一列是否为日期格式
文章目录
- 逻辑详解
- 全部案例代码
逻辑详解
- 首先我们看常见的日期格式:
2021-01-01
,2021/01/01
等等,因此通过以下两个规则判断: - 规则一:每一个单元格的长度都相同
- 规则二:每一个单元格的内容,按照某个字符切分后都是等长的
判断一个series
是否可以转换为datetime
:
def check_is_datetime(series, time_mark='-') -> bool:if series.dtype == 'object':# 1. 长度相同series_len = series.str.len()for i in range(len(series_len)):if series_len[0] != series_len[i]:return False# 2. 被切分后都有三份for sp in series.str.split(time_mark):if len(sp) != 3:return Falsereturn Trueelif series.dtypes == 'datetime64[ns]':return Trueelse:return False
全部案例代码
import pandas as pd# 判断一个series是否为datetime格式
def check_is_datetime(series, time_mark='-') -> bool:if series.dtype == 'object':# 1. 长度相同series_len = series.str.len()for i in range(len(series_len)):if series_len[0] != series_len[i]:return False# 2. 被切分后都有三份for sp in series.str.split(time_mark):if len(sp) != 3:return Falsereturn Trueelif series.dtypes == 'datetime64[ns]':return Trueelse:return Falsedef check_date(dataframe: pd.DataFrame):check_list = []for index, series in dataframe.iteritems():check_list.append(check_is_datetime(series, time_mark='-'))return check_listif __name__ == '__main__':df = pd.DataFrame([['2021-01-01', 'hahhah', '9340do', 43, 123.23, '2021-01-01'],['2022-02-02', 'balbal', 'jsi0-2-3', 12, 34.0, '2022-02-02'],['2023-03-03', 'kkk', '123vd-2f', 23, 12.0, '2023-03-03'],], columns=['time1', 'str1', 'str2', 'int1', 'float1', 'time2'])check_datetime_list = check_date(df)print(check_datetime_list) # 返回是时间格式的列print(df.iloc[:, check_datetime_list]) # 打印时间所在列
打印内容:
[True, False, False, False, False, True]time1 time2
0 2021-01-01 2021-01-01
1 2022-02-02 2022-02-02
2 2023-03-03 2023-03-03
pandas判断dataframe中一列是否为日期格式相关推荐
- pandas使用isna函数和any函数判断dataframe中的每一个数据列中是否包含缺失值
pandas使用isna函数和any函数判断dataframe中的每一个数据列中是否包含缺失值(check if column contains any missing values in dataf ...
- pandas基于dataframe字符串数据列不包含特定字符串来筛选dataframe中的数据行(rows where values do not contain substring)
pandas基于dataframe字符串数据列不包含(not contains)特定字符串来筛选dataframe中的数据行(rows where values do not contain subs ...
- pandas使用rename函数重命名dataframe中数据列的名称、从而创建一个包含重复列名称的dataframe数据集
pandas使用rename函数重命名dataframe中数据列的名称.从而创建一个包含重复列名称的dataframe数据集 目录
- pandas将dataframe中的年、月、日数据列合并成完整日期字符串、并使用to_datetime将字符串格式转化为日期格式
pandas将dataframe中的年.月.日数据列合并成完整日期字符串.并使用to_datetime将字符串格式转化为日期格式 目录
- pandas将dataframe中的特定数据列的内容转化为列表list数据(convert dataframe column values into a list)
pandas将dataframe中的特定数据列的内容转化为列表list数据(convert dataframe column values into a list) 目录 pandas将datafra ...
- pandas基于dataframe字符串数据列包含(contains)特定字符串来筛选dataframe中的数据行(rows where values contain substring)
pandas基于dataframe字符串数据列包含(contains)特定字符串来筛选dataframe中的数据行(rows where values contain substring) 目录
- pandas计算dataframe两列数据值相等的行号、取出DataFrame中两列值相等的行号
pandas计算dataframe两列数据值相等的行号.取出DataFrame中两列值相等的行号 目录 pandas计算dataframe两列数据值相等的行号.取出DataFrame中两列值相等的行号
- pandas将dataframe中的内容为列表(list)的数据列裂变、拆分为多个新的数据列实战:拆分为多个新的数据列(并指定新数据列的名称)、数据列中的列表(不等长)拆分为多个新的数据列产生NaN
pandas将dataframe中的内容为列表(list)的数据列裂变.拆分为多个新的数据列实战:拆分为多个新的数据列(并指定新数据列的名称).数据列中的列表(不等长)拆分为多个新的数据列(产生NaN ...
- pandas从dataframe中删除一个或多个数据列
pandas从dataframe中删除一个或多个数据列 目录 pandas从dataframe中删除一个或多个数据列 #删除数据列的基本语法
最新文章
- 老板:kill -9的原理都不知道就敢到线上执行,明天不用来了
- Swift: 可变参数
- ShardingSphere 系列
- 漫谈移动开发中的组件化
- TFS - Team Foundation Server 的安装记录
- tqdm: ‘module‘ object is not callable
- 搭建属于自己的技术博客
- 电脑缺失MSVCP110.dll文件
- c语言一元二次方程代码,一元二次方程求解程序完整代码
- 团部培训笔记-设计模式-《2013-11-27 代理模式》
- Matlab之数据的输入与输出
- 实力封装:Unity打包AssetBundle(三)
- matlab wnetreg,MATLAB神经网络工具箱函数
- 兄弟连视频教程下载地址汇总-2014
- OpenCL编程实例: 向量计算
- jabber android apk,Android版Jabber — 快速入门指南
- 词法分析(三):有限自动机DFA与NFA
- 图中PNP型三极管发射极和基极为什么要加个100K(R21)的电阻?
- 服务器系统计划任务不执行,Windows 2008 r2任务计划程序执行批处理失败问题解决方法...
- 如何在MMIT上使用WMLScript文件(How To Use WMLScript Files With MMIT)