gpt4 book ai didi

python - pandas timeseries DF 切片和选择

转载 作者:行者123 更新时间:2023-12-01 03:36:35 25 4
gpt4 key购买 nike

我有一个时间序列索引的 df,频率为 15 分钟,持续 10 年:

                        dat
2004-04-07 00:00:00 4.0
2004-04-07 00:15:00 1.0
2004-04-07 00:30:00 2.0

我需要能够提取每天(0-24 小时)的最小和最大“dat”值并将它们附加到单独的列表中。

我的计划是使用日期时间索引并循环如下:

days = pd.to_datetime(pd.date_range(start = s, end = e, freq='1d'), format='%Y%m%d')

for day in days:
mn.append(min(df.loc[day].dat))

但是,在“days”中创建的时间戳有小时(尽管格式不同),因此每次仅返回 00:00:00 小时值:

2004-04-07 00:00:00     4.0
mn[0] '4.0'

最佳答案

我认为你可以使用resampleResampler.aggregate :

df = df.resample('D').agg({'dat': ['min','max']})
print (df)
dat
min max
2004-04-07 1.0 4.0

另外:

df = df.resample('D')['dat'].agg({'min_dat': 'min', 'max_dat': 'max'})
print (df)
max_dat min_dat
2004-04-07 4.0 1.0

如果需要创建列表,请使用 tolist :

Lmin = df.min_dat.tolist()
print (Lmin)
[1.0]

Lmax = df.max_dat.tolist()
print (Lmax)
[4.0]

关于python - pandas timeseries DF 切片和选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40285676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com