【问题标题】:Plotting data from a Pandas Dataframe with distinct curves based on column values根据列值绘制具有不同曲线的 Pandas Dataframe 中的数据
【发布时间】:2017-12-15 09:16:35
【问题描述】:

我有一个看起来像这样的 Pandas 数据框:

City      timestamp HUMI    year
Beijing   10100     43.0    2010
Chengdu   10100     81.2    2010
Beijing   10101     47.0    2010
Chengdu   10101     86.99   2010
Beijing   10102     43.0    2010
Chengdu   10102     86.99   2010
Beijing   10103     55.0    2010
Chengdu   10103     86.89   2010
Beijing   10104     51.0    2010
Chengdu   10104     86.79   2010
Beijing   10105     47.0    2010
Chengdu   10105     93.13   2010

我想将 HUMI 绘制为时间戳的函数,并且每个城市都有一条曲线。是否有一个单行命令可以让我这样做?我已经检查了Pandas visualization page,但没有看到(或错过)。

提前致谢。

【问题讨论】:

    标签: python pandas plot


    【解决方案1】:

    看来你需要pivotplot

    df.pivot('timestamp','City','HUMI').plot()
    

    还有unstack的替代方案:

    df.set_index(['timestamp','City'])['HUMI'].unstack().plot()
    

    详情:

    print (df.pivot('timestamp','City','HUMI'))
    City       Beijing  Chengdu
    timestamp                  
    10100         43.0    81.20
    10101         47.0    86.99
    10102         43.0    86.99
    10103         55.0    86.89
    10104         51.0    86.79
    10105         47.0    93.13
    

    【讨论】:

    • 谢谢。假设我想继续进一步拆分数据:将 HUMI 绘制为时间戳的函数,并为每个城市年组合绘制一条曲线?或者任意数量的区别列?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    相关资源
    最近更新 更多