python - 使用时间戳查找一天中的最大最小值并将其添加到现有数据帧
问题描述
我有一个由时间戳和一些环境值组成的数据框。我想找到当天的最高和最低温度值,并将其与现有数据框一起存储到 csv 文件中。
到目前为止,我能够使用下面的代码并将最大值和最小值带到单独的数据框中。
''''
dff = pd.read_csv(n1p2.csv")
df = pd.DataFrame(dff)
df['timeStamp'] = pd.to_datetime(df['timeStamp'])
df = df.set_index('timeStamp')
val = df.loc[df.groupby(df.index.dayofyear).idxmax().iloc[:, 2]]
''''
数据框 val 每天都有 SItemp 的最大值。但是如何将它添加到原始数据框中并保存 csv 文件?
解决方案
import pandas as pd
d = {'id': [1, 2, 3], 'datatime': ['16-12-19 13:23', '16-12-19 17:45', '17-12-19 13:23'], 'temp': [35,41,32]}
df = pd.DataFrame(data=d)
df = df.set_index('id')
df
样品日期:
datatime temp
id
1 16-12-19 13:23 35
2 16-12-19 17:45 41
3 17-12-19 13:23 32
df['NewDate'] = pd.to_datetime(df['datatime'],format='%d-%m-%y %H:%M')
df['Date Only']=df['NewDate'].dt.date
df
仅日期:
datatime temp NewDate Date Only
id
1 16-12-19 13:23 35 2019-12-16 13:23:00 2019-12-16
2 16-12-19 17:45 41 2019-12-16 17:45:00 2019-12-16
3 17-12-19 13:23 32 2019-12-17 13:23:00 2019-12-17
求最小值和最大值:
import numpy as np
data = (df.set_index('Date Only').groupby(level=0)['temp']
.agg([('Minimum',np.min),('Maximum',np.max)]))
data
结果:
Minimum Maximum
Date Only
2019-12-16 35 41
2019-12-17 32 32
推荐阅读
- cmd - 以管理员身份执行 .BAt 文件
- excel - 达到特定值后如何在excel中重新开始计数
- javascript - 使用 PHP 或 JS 将存储的服务器时间转换为本地时间
- reactjs - 如何将类应用于不支持 className 的外部组件?
- plsql - 将 plsql 嵌套表类型与另一个常规 sql 表连接
- c++ - 从进程转储中读取内存(自动分析)
- reactjs - 将 Header 或 Title 渲染到 ant design - Timepicker 组件
- cors - 没有 cors 配置不适用于 json-server
- .net - 存储在 Firestore 中时如何从数组中删除对象
- python - Django-allauth - 使用 OneToOneField 自定义注册