每月温度

问题描述:

的条形图我具有低于在大熊猫数据帧中的表:每月温度

0 2017/06/04 00:00:00 31.900000 26.700000 
1 2017/06/04 00:30:00 31.600000 25.000000 
2 2017/06/04 01:00:00 31.400000 24.300000 
3 2017/06/04 01:30:00 31.200000 24.100000 
4 2017/06/04 02:00:00 30.800000 26.000000 
5 2017/06/04 02:30:00 30.500000 27.000000 
6 2017/06/04 03:00:00 30.300000 27.300000 
7 2017/06/04 03:30:00 30.100000 27.600000 
8 2017/06/04 04:00:00 29.900000 27.800000 
9 2017/06/04 04:30:00 29.600000 27.900000 
10 2017/06/04 05:00:00 29.200000 27.900000 
11 2017/06/04 05:30:00 28.900000 27.900000 
12 2017/06/04 06:00:00 30.800000 27.900000 
13 2017/06/04 06:30:00 35.700000 27.900000 
14 2017/06/04 07:00:00 38.300000 26.100000 
15 2017/06/04 07:30:00 37.500000 25.100000 

该表是从Excel文件中使用以下的查询提取的:

import numpy as np 
df = pd.read_excel(r\temperature.xlsx") 

和我分析并根据数据对它们进行分类并尝试根据具体范围的温度对它们进行分组,但是我不知道如何创建这些具有所需范围的组,例如< = 5C,10至20C,> = 30C)。

+0

我建议尝试一些,然后寻求帮助,如果你卡住 – Travis

+1

欢迎来到堆栈溢出!看起来你希望我们为你写一些代码。尽管许多用户愿意为遇险的编码人员编写代码,但他们通常只在海报已尝试自行解决问题时才提供帮助。证明这一努力的一个好方法是包含迄今为止编写的代码,示例输入(如果有的话),期望的输出和实际获得的输出(控制台输出,堆栈跟踪,编译器错误 - 无论是适用)。您提供的细节越多,您可能会收到的答案就越多。 – iFlo

+0

我在熊猫数据框中有下表: –

在Pandas中看起来像cut function可能适合您的使用情况。将来,向我们提供代码来重现您的数据框要比仅仅倾销它好得多。喜欢的东西:

df = pd.DataFrame([ 
["2017/06/04 00:00:00",31.900000,26.700000], 
["2017/06/04 00:30:00",31.600000,25.000000], 
["2017/06/04 01:00:00",31.400000,24.300000], 
["2017/06/04 01:30:00",31.200000,24.100000], 
["2017/06/04 02:00:00",30.800000,26.000000], 
["2017/06/04 02:30:00",30.500000,27.000000], 
["2017/06/04 03:00:00",30.300000,27.300000], 
["2017/06/04 03:30:00",30.100000,27.600000], 
["2017/06/04 04:00:00",29.900000,27.800000], 
["2017/06/04 04:30:00",29.600000,27.900000], 
["2017/06/04 05:00:00",29.200000,27.900000], 
["2017/06/04 05:30:00",28.900000,27.900000], 
["2017/06/04 06:00:00",30.800000,27.900000], 
["2017/06/04 06:30:00",35.700000,27.900000], 
["2017/06/04 07:00:00",38.300000,26.100000], 
["2017/06/04 07:30:00",37.500000,25.100000]], 
columns = ['time','t_high','t_low']) 

如果你想要做一个温度列你的分析,给它一个名称,并定义你所关心的温度界限:

temps = df['t_low'] 
bins = [23,25,27,30] 

现在,您可以申请熊猫'cut()函数,按您定义的存储桶对数据进行分组,然后查看一些统计信息。

temps.groupby(pd.cut(temps,bins)).describe() 

      count  mean  std min 25% 50% 75% max 
t_low                
(23, 25] 3.0 24.466667 0.472582 24.1 24.20 24.3 24.65 25.0 
(25, 27] 5.0 26.180000 0.732803 25.1 26.00 26.1 26.70 27.0 
(27, 30] 8.0 27.775000 0.218763 27.3 27.75 27.9 27.90 27.9