Python 如何减去日期并计算空值?
我有一列计算从a到B的持续时间,格式为hh:mm:ss。但是,A和B可能在数据中显示空值 假设A=05:15:00,B=naT,那么减法将返回5:15秒,这在上下文中是误导和错误的,因为B是无穷大!如果两列都不为空,如何指定仅从A中减去B列 这是我的代码:Python 如何减去日期并计算空值?,python,pandas,Python,Pandas,我有一列计算从a到B的持续时间,格式为hh:mm:ss。但是,A和B可能在数据中显示空值 假设A=05:15:00,B=naT,那么减法将返回5:15秒,这在上下文中是误导和错误的,因为B是无穷大!如果两列都不为空,如何指定仅从A中减去B列 这是我的代码: df['A_to_B']=(df.B-df.A).dt.total_seconds() Python不使用null,但它使用一个名为None的类型来表示没有值/类型。那么您可以检查df.B和df.A是否都不是None,可能是这样的: if
df['A_to_B']=(df.B-df.A).dt.total_seconds()
Python不使用null,但它使用一个名为None的类型来表示没有值/类型。那么您可以检查df.B和df.A是否都不是None,可能是这样的:
if (df.A is not None) and (df.B is not None):
df['A_to_B'] = (df.B-df.A).dt.total_seconds()
你可以做:
df['A_to_B'] = np.where(df['A'].notna() & df['B'].notna(),
(df['A'] - df['B']).dt.total_seconds(),
np.nan)
样本数据
A B
0 05:15:00 NaT
1 NaT 00:00:15
2 05:15:00 00:15:00
输出:
A B A_to_B
0 05:15:00 NaT NaN
1 NaT 00:00:15 NaN
2 05:15:00 00:15:00 18000.0
也许是Python,但熊猫确实有值
NaN