📅  最后修改于: 2023-12-03 15:19:34.102000             🧑  作者: Mango
如果你需要在Python中处理时间范围的任务,比如每月的某个日期,那么这篇文章是为你准备的。
Python的 datetime
库提供了许多有用的类和方法来处理日期和时间。下面是一些常用方法:
from datetime import datetime
now = datetime.now()
print(now)
输出:
2021-03-25 14:22:05.570401
from datetime import datetime
dt = datetime(2021, 3, 25, 14, 22, 0)
print(dt)
输出:
2021-03-25 14:22:00
from datetime import datetime
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))
输出:
2021-03-25 14:22:05
可以用 timedelta
类来表示两个日期或时间之间的间隔。
from datetime import datetime, timedelta
now = datetime.now()
one_day_ago = now - timedelta(days=1)
print(one_day_ago)
输出:
2021-03-24 14:22:05.570401
from datetime import datetime, timedelta
now = datetime.now()
one_day_ago = now - timedelta(days=1)
if now > one_day_ago:
print("now is later than one_day_ago")
输出:
now is later than one_day_ago
如果你需要在Python中处理更加复杂的时间序列数据,可以使用 pandas
库。下面是一些常用方法:
import pandas as pd
df = pd.read_csv("data.csv", parse_dates=["date"])
print(df)
其中 parse_dates=["date"]
将日期列 date
识别为时间戳类型。
可以用 resample
方法进行重采样。
import pandas as pd
df = pd.read_csv("data.csv", parse_dates=["date"])
df = df.set_index("date")
monthly_data = df.resample("M").mean()
print(monthly_data)
输出:
value
date
2021-01-31 0.500000
2021-02-28 0.666667
2021-03-31 0.750000
其中 "M"
表示按月重采样,.mean()
表示取均值。
import pandas as pd
df = pd.read_csv("data.csv", parse_dates=["date"])
df = df.set_index("date")
monthly_data = df.loc["2021-02-01":"2021-03-31"]
print(monthly_data)
输出:
value
date
2021-02-03 0.5
2021-02-24 1.0
2021-03-08 0.5
2021-03-25 1.0
其中 loc["2021-02-01":"2021-03-31"]
表示选择日期在2月1日到3月31日之间的数据行。
本文介绍了Python中处理时间范围每月的方法,包括 datetime
库和 pandas
库。对于简单的时间任务,可以使用 datetime
库;对于复杂的时间序列数据,可以使用 pandas
库。