Python 获取数据块以进行min()max()计算的最佳方法是什么?
在使用MySQLdb和matplotlib时,我试图绘制一些天气数据,如温度。首先,我要做以下几点:Python 获取数据块以进行min()max()计算的最佳方法是什么?,python,matplotlib,Python,Matplotlib,在使用MySQLdb和matplotlib时,我试图绘制一些天气数据,如温度。首先,我要做以下几点: [...] result = cursor.fetchall() date = [x[0] for x in result] outdoor = [x[1] for x in result] 我想标记每年、每月、每周和每天的最小值和最大值 我用以下方法试用了一个月,例如may: for item in date: if item.month == 5: print(i
[...]
result = cursor.fetchall()
date = [x[0] for x in result]
outdoor = [x[1] for x in result]
我想标记每年、每月、每周和每天的最小值和最大值
我用以下方法试用了一个月,例如may:
for item in date:
if item.month == 5:
print(item)
print(date.index(item))
找出整个日期列表的开始和结束索引,但代码的性能是有史以来最差的
所以我需要一个高性能的split命令,我的问题是:
如何拆分包含一年的datetime、月、周和日的值元组的列表,以便能够找到每个月、周和日的最小值()和最大值()
要了解最大最小值,请执行以下操作:
hi = outdoor.index(max(outdoor))
lo = outdoor.index(min(outdoor))
要绘制图形和最小值、最大值:
plt.plot(date, outdoor, color = '#bbbbff')
plt.plot(date[hi], outdoor[hi], 'or')
plt.plot(date[lo], outdoor[lo], 'ob')
你能显示你的输入数据吗?我猜
itertools.groupby()
将是一种选择,但从您提供的信息中很难判断。我猜解决此问题的最佳方法是首先将其与matplotlib解耦。然后,使用设计良好的SQL查询或在pandas中使用datetime列可能会有所帮助。选择其中一个方向并提出一个具体问题,包括问题的答案,可能会使您更接近于解决此问题。输入数据如下所示:结果[0]=(datetime.datetime(2016,11,26,0,47,32),35.625)