亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在同一圖中繪制不同的數據框

在同一圖中繪制不同的數據框

慕村9548890 2019-12-11 13:09:23
我有一個具有多年溫度記錄的溫度文件,格式如下:2012-04-12,16:13:09,20.62012-04-12,17:13:09,20.92012-04-12,18:13:09,20.62007-05-12,19:13:09,5.42007-05-12,20:13:09,20.62007-05-12,20:13:09,20.62005-08-11,11:13:09,20.62005-08-11,11:13:09,17.52005-08-13,07:13:09,20.62006-04-13,01:13:09,20.6每年的記錄數量和時間都不同,因此熊貓的datetimeindices都不同。我想在同一圖中繪制不同年份的數據以進行比較。X軸為1月至12月,Y軸為溫度。我應該怎么做呢?
查看完整描述

3 回答

?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

但是在這種情況下,使用a groupby和unstacking 可能會更好:


(假設您已經在數據框中使用了日期時間索引)


In [1]: df

Out[1]:

? ? ? ? ? ? value??

datetime? ? ? ? ? ? ? ? ? ? ? ? ?

2010-01-01? ? ? 1??

2010-02-01? ? ? 1??

2009-01-01? ? ? 1??


# create additional month and year columns for convenience

df['Month'] = map(lambda x: x.month, df.index)

df['Year'] = map(lambda x: x.year, df.index)? ??


In [5]: df.groupby(['Month','Year']).mean().unstack()

Out[5]:

? ? ? ?value? ? ??

Year? ? 2009? 2010

Month? ? ? ? ? ? ?

1? ? ? ? ? 1? ? ?1

2? ? ? ? NaN? ? ?1

現在很容易繪制(每年作為單獨的一行):


df.groupby(['Month','Year']).mean().unstack().plot()



查看完整回答
反對 回復 2019-12-12
?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

如果您正在運行Jupyter / Ipython筆記本并且在使用時遇到問題;


ax = df1.plot()


df2.plot(ax=ax)


在同一單元格內運行命令!由于某些原因,當它們分成順序的單元格時,它將無法工作。至少對我來說。



查看完整回答
反對 回復 2019-12-12
?
青春有我

TA貢獻1784條經驗 獲得超8個贊

要對多個數據框執行此操作,可以對其進行for循環:


fig = plt.figure(num=None, figsize=(10, 8))

ax = dict_of_dfs['FOO'].column.plot()

for BAR in dict_of_dfs.keys():

    if BAR == 'FOO':

        pass

    else:

        dict_of_dfs[BAR].column.plot(ax=ax)



查看完整回答
反對 回復 2019-12-12
  • 3 回答
  • 0 關注
  • 286 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號