📜  python时间范围每月 - Python(1)

📅  最后修改于: 2023-12-03 15:19:34.102000             🧑  作者: Mango

Python时间范围每月

如果你需要在Python中处理时间范围的任务,比如每月的某个日期,那么这篇文章是为你准备的。

Datetime库

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
Pandas库

如果你需要在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 库。