【问题标题】:Plot Dates in MatPlotLib using a scatter data set使用散点数据集在 MatPlotLib 中绘制日期
【发布时间】:2013-11-28 22:59:58
【问题描述】:

我有一个大型数据集。我得到了一个数组,我得到了

arDates = DataSet["dates"].Values

数组应该是这样的。

arDates =  [u'2013-11-27T02:02:50'  u'2013-11-27T00:00:00' u'2013-11-27T00:00:00'
 u'2013-11-27T00:00:00']

我正在努力绘制它并在直方图中表示它。

1- 我创建了一条 360 度线(每天数)

bins = np.linspace(0, 360, 10)
daily = DataSet.groupby(lambda x: arDates[x])
plt.axis([0,360,0,100])

1- 我应该制作一个 histogram2D 并将年份设为 axeY,将天设为 axeX。 2- 我可以通过这种方式从数组中提取日期吗:

daily = DataSet.groupby(lambda x: x.year())
daily = DataSet.groupby(lambda x: x.month())
daily = DataSet.groupby(lambda x: x.day())

那么我在这里做错了什么? 我找不到解析日期和制作一维直方图的方法 我正在这样做,但我得到一个空的数字。

DataSet["dates"].hist(color='k', alpha=0.5, normed='false')

【问题讨论】:

  • 您要达到的目标并不完全清楚。没有真正的问题,除了“什么是最好的方法”,但这不一定与您发布的代码相关并且基于意见。以这种方式问它怎么样:“目前,我的代码......但我希望它这样做......所以我在这里做错了什么?”
  • 谢谢,我编辑了问题
  • 只是好奇为什么会有R 标签?
  • 是的,但不是pandas 标签?

标签: python r numpy matplotlib


【解决方案1】:

也许这就是你的意思:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
arDates = pd.Series(pd.DatetimeIndex([u'2013-11-27T02:02:50',  u'2013-11-25T00:00:00', u'2013-11-25T00:00:00',
    u'2013-11-25T00:00:00']).dayofyear)
arDates.hist()
plt.show()
print np.histogram(arDates)

输出:

(array([3, 0, 0, 0, 0, 0, 0, 0, 0, 1]), array([ 329. ,  329.2,  329.4,  329.6,  329.8,  330. ,  330.2,  330.4,
        330.6,  330.8,  331. ]))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-23
    • 2021-10-14
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 2020-08-26
    相关资源
    最近更新 更多