我的数据如下:
Col1,ColDate
a,2020-09-11 08:43:00
b,2020-09-12 09:43:00
c,13-09-2020 09:43:00
d,09/16/2020 10:43:00
e,09/19/2020 12:43:00
f,09/12/2020 15:43:00
目的是获取9月11日至9月13日之间的所有行,而不考虑格式。在大熊猫中
我正在尝试以下操作:
df[df["ColDate"].between('11-09-2020','13-09-2020')]
我得到一个空的数据框。
答案 0 :(得分:2)
您可以尝试一下
df[pd.to_datetime(df['ColDate']).dt.strftime('%d-%m-%Y').between('11-09-2020','13-09-2020')]
Col1 ColDate
0 a 2020-09-11 08:43:00
1 b 2020-09-12 09:43:00
2 c 13-09-2020 09:43:00
5 f 09/12/2020 15:43:00
但由于日期格式混乱,很难说哪个将被视为月和日。
答案 1 :(得分:1)
请检查代码段。您可以先将冷却转换为pd.to_datetime
格式,然后再在其上应用遮罩。
df['ColDate'] = pd.to_datetime(df['ColDate'])
mask = (df['ColDate'] > '2020-09-11') & (df['ColDate'] <='2020-09-13')
df = df.loc[mask]
Output
Col1 ColDate
0 a 2020-09-11 08:43:00
1 b 2020-09-12 09:43:00
5 f 2020-09-12 15:43:00