【发布时间】:2019-09-04 21:20:26
【问题描述】:
我正在尝试根据以下两列时间戳的条件创建一个新列,
def time_delta(df):
if df['a_time'] > df['b_time']:
res = 'Early'
else:
res = 'Late'
return res
或
df['new_col'] = np.where(df['a_time'] > df['b_time'], 'Early', 'Late')
但是 a_time 列有时具有 NaN 值,如果 a_time 为 NaN,我希望新列中的结果或值也为 NaN,我该如何执行此操作或调整我为此提供的内容?
期望的输出
time_a | time_b | new_column
2019-08-19 22:25:26.133 2019-08-19 23:00:00.000 Before_b
NaN 2019-08-19 22:00:00.000 NaN
2019-08-19 23:00:00.000 2019-08-19 20:00:00.000 After_b
谢谢!
【问题讨论】:
-
@Yuca 谢谢!,我添加了所需的输出
-
df['new_col'] = np.where(df['a_time'] > df['b_time'], 'Early', 'Late').mask(df['time_a'].isna())?
标签: python python-3.x pandas data-science