Python 筛选熊猫中两个日期之间的行
我有一张有日期、销售额和利润的表。数据为10年的历史数据。现在,我想过滤每年1月1日至2月9日之间的销售额。如何操作?首先,您要确保您的Python 筛选熊猫中两个日期之间的行,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有一张有日期、销售额和利润的表。数据为10年的历史数据。现在,我想过滤每年1月1日至2月9日之间的销售额。如何操作?首先,您要确保您的日期是日期时间类型: df['Date'] = pd.to_datetime(df['Date']) 然后,您可以提取月份和天数,并使用loc进行过滤: month_day = df['Date'].dt.month * 100 + df['Date'].dt.day df.loc[month_day.between(101, 209)] 首先,您要确保您
日期
是日期时间类型:
df['Date'] = pd.to_datetime(df['Date'])
然后,您可以提取月份和天数,并使用loc进行过滤:
month_day = df['Date'].dt.month * 100 + df['Date'].dt.day
df.loc[month_day.between(101, 209)]
首先,您要确保您的
日期
是日期时间类型:
df['Date'] = pd.to_datetime(df['Date'])
然后,您可以提取月份和天数,并使用loc进行过滤:
month_day = df['Date'].dt.month * 100 + df['Date'].dt.day
df.loc[month_day.between(101, 209)]
与Quang Hoangs方法相比不那么简单,但可能更易于阅读/理解:
df[(df['Date'].dt.month == 1) | ((df['Date'].dt.month == 2) & (df['Date'].dt.day <= 9))]
df[(df['Date'].dt.month==1)|((df['Date'].dt.month==2)和(df['Date'].dt.day比Quang-Hoangs方法简单,但可能更可读/易懂:
df[(df['Date'].dt.month == 1) | ((df['Date'].dt.month == 2) & (df['Date'].dt.day <= 9))]
df[(df['Date'].dt.month==1)|((df['Date'].dt.month==2)和(df['Date'].dt.day您还可以使用对象的dayofyear
属性:
给定的日期是数据类型datetime
df[df['Date'].dt.dayofyear < 41]
df[df['Date'].dt.dayofyear<41]
每年的前40天,1月的31天加上2月的9天
如果日期在索引中,则不需要dt访问器:
df[df.index.dayofyear < 41]
df[df.index.dayof year<41]
您还可以使用对象的dayofyear
属性:
给定的日期是数据类型datetime
df[df['Date'].dt.dayofyear < 41]
df[df['Date'].dt.dayofyear<41]
每年的前40天,1月的31天加上2月的9天
如果日期在索引中,则不需要dt访问器:
df[df.index.dayofyear < 41]
df[df.index.dayof year<41]
您的数据是什么样子的?是否已经采用日期类型格式?能否共享一些现有代码供我们查看?您的数据是什么样子的?是否已经采用日期类型格式?能否共享一些现有代码供我们查看?谢谢。有帮助!谢谢。有帮助!谢谢。有帮助!有帮助!谢谢。有帮助!谢谢!有帮助!谢谢!有帮助!谢谢!有帮助!