Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取数据块以进行min()max()计算的最佳方法是什么?_Python_Matplotlib - Fatal编程技术网

Python 获取数据块以进行min()max()计算的最佳方法是什么?

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

在使用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(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)