我有一个带有create_date和create_time的数据框。 Create_date是日期,而create_time是日期时间。
由于某种原因,将来会有一些create_times,但是create_date看起来仍然准确。
例如create_date:2019-03-29
create_time:2035-02-26 18:29:59
我想只过滤我感兴趣的行:
df.loc[df['create_time'] >= '2019-09-23','create_time']
然后我想梳理下面的两列
pd.to_datetime(df['create_date'].astype(str) + ' ' + df['create_time'].dt.time.astype(str))
有没有一种简单的方法可以执行以下操作:
df.loc[df['create_time'] >= '2019-09-23','create_time'] = pd.to_datetime(df['create_date'].astype(str) + ' ' + df['create_time'].dt.time.astype(str))
上述陈述的问题是权利未应用过滤器
我得到的错误是应该从选择中排除的行。 由于某些create_times是NaT,因此无法将查询应用于整个数据框。
答案 0 :(得分:0)
您可以尝试使用mask
con1=df['create_time'] >= '2019-09-23'
v1=pd.to_datetime(df['create_date'].astype(str) + ' ' + df['create_time'].dt.time.astype(str))
df.create_time=df.create_time.mask(con1,v1)