相思本是无凭语,

莫向花牋费泪行。

hanstary

相思本是无凭语,莫向花牋费泪行。

Pandas时间序列

Pandas时间序列

1.字符串转换为时间

pd.to_datetime(列)

如下字符串格式可以转换为时间

  • 20240704
  • 2024.07.04
  • 2024/07/04
  • 04/07/2024
  • 04-July-2024
import pandas as pd

data = {
    '日期': ['2024/07/04', '2024/07/05', '2024/07/06'],
    '运动开始时间': ['16:00', '18:30', '19:00'],
    '运动结束时间': ['17:00', '19:30', '20:00'],
    '运动项目': ['跑步', '游泳', '瑜伽'],
    '运动时长(分钟)': [60, 60, 60]
}

df = pd.DataFrame(data)
df["日期"] = pd.to_datetime(df["日期"])
print(df)

2.获得时间

df.index.属性

有如下属性

属性 说明
year 获得年
month 获得月
day 获得日
weekday 获得星期几,0表示星期一,6表示星期日
quarter 获得季度
is_leap_year 是否为闰年,返回布尔值
import pandas as pd

data = {
    '日期': ['2024/07/04', '2024/07/05', '2024/07/06'],
    '运动开始时间': ['16:00', '18:30', '19:00'],
    '运动结束时间': ['17:00', '19:30', '20:00'],
    '运动项目': ['跑步', '游泳', '瑜伽'],
    '运动时长(分钟)': [60, 60, 60]
}

df = pd.DataFrame(data)
df["日期"] = pd.to_datetime(df["日期"])
df=df.set_index("日期")
print(df.index.day)

3.重采集

df.resample(rule=freq,axis=0或1).统计函数()

freq表示转换频率,有如下值

频率 说明
D
M
Y
Q 季度
W 星期

重采集就基于时间的分组操作

import pandas as pd

data = {
    '日期': ['2024/07/04', '2024/07/05', '2024/07/06'],
    '运动开始时间': ['16:00', '18:30', '19:00'],
    '运动结束时间': ['17:00', '19:30', '20:00'],
    '运动项目': ['跑步', '游泳', '瑜伽'],
    '运动时长(分钟)': [60, 60, 60]
}

df = pd.DataFrame(data)
df["日期"] = pd.to_datetime(df["日期"])
df = df.set_index("日期")
res = df.resample("1D").count()
print(res)

4.移动计算

df.rolling(n)

n表示每次计算的数量

posted on 2024-07-05 10:52  hanstary  阅读(8)  评论(0编辑  收藏  举报

导航