熊猫过滤到特定的行,然后合并2列

时间:2019-09-23 22:10:19

标签: python pandas

我有一个带有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,因此无法将查询应用于整个数据框。

1 个答案:

答案 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)