Pandas 比较日期差异

简介: Pandas 比较日期差异

Pandas 比较日期差异


一、需求

两列数据A, B 分别表示两个时间,已用函数 pd.to_datetime() 做标准化时间处理,A - B 求两列的差值后,发现结果是 0 days 或 -1 days,如图所示:

要求:挑选出 > 0 days的部分,其余不处理。

二、解决办法

主要思想是通过加一列 bool 列来判断 delay 列是否是 > 0 days,如果是,标记为True,否则为 False。

代码如下:

import pandas as pd
file = pd.read_csv('test.csv')
file['delay'] = outfile['A'] - outfile['B']
# 新加一列 islater 列
file['islater'] = (file['delay'].dt.days >= 0)

三、补充

以上代码即可满足需求。此处涉及到 dt.days,目的是取出天数:

1)如果 file['delay'] 是 Series类型,用 file['delay'].dt.days

2)如果 file['delay'] 是 Timedelta类型,用 file['delay'].days

outfile['delay'] 是 timedelta64 组成的 series

timedelta64.dt 就是 timedeltaproperties

 

所以 outfile['delay'] 是 Series,具体能用什么函数取决于 Series 中变量的类型。

摘录pandas 文档如下:

相关文章
|
13天前
|
数据挖掘 数据处理 索引
python常用pandas函数nlargest / nsmallest及其手动实现
python常用pandas函数nlargest / nsmallest及其手动实现
27 0
|
13天前
|
Python
如何使用Python的Pandas库进行数据透视图(melt/cast)操作?
Pandas的`melt()`和`pivot()`函数用于数据透视。基本步骤:导入pandas,创建DataFrame,然后使用这两个函数变换数据。示例代码:导入pandas,定义一个包含'Name'和'Age'列的DataFrame,使用`melt()`转为长格式,再用`pivot()`恢复为宽格式。
21 1
|
14天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
24 2
|
15天前
|
索引 Python
如何使用Python的Pandas库进行数据合并和拼接?
Pandas的`merge()`函数用于数据合并,如示例所示,根据'key'列对两个DataFrame执行内连接。`concat()`函数用于数据拼接,沿轴0(行)拼接两个DataFrame,并忽略原索引。
32 2
|
15天前
|
数据挖掘 索引 Python
如何在Python中,Pandas库实现对数据的时间序列分析?
【4月更文挑战第21天】Pandas在Python中提供了丰富的时间序列分析功能,如创建时间序列`pd.date_range()`,转换为DataFrame,设置时间索引`set_index()`,重采样`resample()`(示例:按月`'M'`和季度`'Q'`),移动窗口计算`rolling()`(如3个月移动平均)以及季节性调整`seasonal_decompose()`。这些工具适用于各种时间序列数据分析任务。
19 2
|
15天前
|
数据采集 Python
如何在Python中使用Pandas库进行数据清洗?
【4月更文挑战第21天】Pandas在Python中用于数据清洗,包括处理缺失值(`dropna()`删除、`fillna()`填充)、处理重复值(`duplicated()`检查、`drop_duplicates()`删除)、处理异常值(条件筛选、分位数、标准差)和文本数据(字符串操作、正则表达式)。示例代码展示了各种方法的用法。
36 3
|
15天前
|
索引 Python
如何在Python中使用Pandas库进行季节性调整?
在Python中使用Pandas和Statsmodels进行季节性调整的步骤包括:导入pandas和seasonal_decompose模块,准备时间序列DataFrame,调用`seasonal_decompose()`函数分解数据为趋势、季节性和残差,可选地绘制图表分析,以及根据需求去除季节性影响(如将原始数据减去季节性成分)。这是对时间序列数据进行季节性分析的基础流程。
26 2
|
4天前
|
Python
使用Python pandas的sort_values()方法可按一个或多个列对DataFrame排序
使用Python pandas的sort_values()方法可按一个或多个列对DataFrame排序。示例代码展示了如何按'Name'和'Age'列排序 DataFrame。先按'Name'排序,再按'Age'排序。sort_values()的by参数接受列名列表,ascending参数控制排序顺序(默认升序),inplace参数决定是否直接修改原DataFrame。
11 1
|
4天前
|
NoSQL Serverless Python
在Python的Pandas中,可以通过直接赋值或使用apply函数在DataFrame添加新列。
在Python的Pandas中,可以通过直接赋值或使用apply函数在DataFrame添加新列。方法一是直接赋值,如`df['C'] = 0`,创建新列C并初始化为0。方法二是应用函数,例如定义`add_column`函数计算A列和B列之和,然后使用`df.apply(add_column, axis=1)`,使C列存储每行A、B列的和。
18 0
|
5天前
|
机器学习/深度学习 数据采集 SQL
【Python机器学习专栏】使用Pandas处理机器学习数据集
【4月更文挑战第30天】本文介绍了如何使用Python的Pandas库处理机器学习数据集,涵盖数据读取、概览、清洗、转换、切分和保存等步骤。通过Pandas,可以从CSV等格式加载数据,进行缺失值、异常值处理,数据类型转换,如归一化、类别编码,并实现训练集与测试集的划分。此外,还展示了如何保存处理后的数据,强调了Pandas在数据预处理中的重要性。