【问题标题】:bar chart of monthly temperature每月温度条形图
【发布时间】:2017-08-07 15:22:30
【问题描述】:

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

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")

我已经根据数据对它们进行了分析和分类,并尝试根据特定范围的温度对它们进行分组,但我不知道如何创建这些具有所需范围的组,例如 = 30C)。

【问题讨论】:

  • 我建议尝试一些事情,然后在遇到困难时寻求帮助
  • 欢迎来到 Stack Overflow!看起来您希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只会在发布者已经尝试自己解决问题时提供帮助。展示这项工作的一个好方法是包含您迄今为止编写的代码、示例输入(如果有的话)、预期输出和您实际获得的输出(控制台输出、堆栈跟踪、编译器错误 - 不管是什么适用的)。您提供的详细信息越多,您可能收到的答案就越多。
  • 我在熊猫数据框中有下表:

标签: python pandas dataframe bar-chart


【解决方案1】:

看起来 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]

现在您已准备好应用 Pandas 的 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-06
    • 1970-01-01
    • 2021-07-07
    • 1970-01-01
    • 2010-10-27
    • 2020-11-23
    相关资源
    最近更新 更多