使用应用于 DF 的一列的条件提取 DF 中的行

问题描述 投票:0回答:1

我有一个数据框,其名称在第 1 列中,格式为:

xxxxxxx/YYYY/MM/DD/xxxxxxxx
名称中出现日期的地方。

我只想提取在指定日期范围内名称中包含日期的 DF 行。

date_df=tmp_DF['UId'].str.split('/', expand=True)

给出另一个以 yyyy、mm 和 dd 为列的数据框

pandas string dataframe filter
1个回答
1
投票

使用

Series.str.extract
//
之间的值:

df['date'] = pd.to_datetime(df['col'].str.extract(r'/(.*)/', expand=False))

或指定

YYYY/MM/DD
数字:

df['date'] = pd.to_datetime(df['col'].str.extract(r'(\d{4}/\d{2}/\d{2})', expand=False))

最后按日期时间范围过滤使用

Series.between
boolean indexing

df1 = df[df['date'].between('2023-03-21', '2023-05-01')]
© www.soinside.com 2019 - 2024. All rights reserved.