【问题标题】:Plotting and handling date/time data with Pandas使用 Pandas 绘制和处理日期/时间数据
【发布时间】:2019-03-20 05:28:44
【问题描述】:

目前,我正在从事一个项目,并希望每天从记录器中绘制数据。书面输出的格式是 .csv 文件,在一列中包含日期/时间戳 例如:2018-10-15 10:00。在其他列中,只有浮点格式的数据。我会在 00:00 到 23:50 之间每隔 10 分钟自动获得书面印章。

我希望分析数据并按天分组*使用 groupby() 并进一步计算当天的平均值和偏差。我想将几年的平均值和 std_deviation 数据绘制为散点图或折线图。主要滴答声是几年或几个月,而天是次要滴答声。

每天,我想比较某个月内平均值的变化,并以小时为主要刻度,每 10 分钟间隔为次要刻度,绘制整个时间间隔。如果可能的话,我希望能够把它放在一个 for 循环中。

说实话,我尝试了很多不同的可能性,但我无法仅靠一种可能性来实现所有目标。如果可以的话,我会尽量不使用 set_index() 作为日期/时间列,这样更容易应用组。为了方便起见,我正在使用 Pandas 模块来完成我的整个分析。

我很乐意得到任何指导。

非常感谢!!!!!!!

【问题讨论】:

  • 您好,欢迎来到 Stackoverflow。如果您可以添加一些示例代码并将您的数据框的 sn-p 粘贴到您的问题中,那就太好了。它使我们更容易为您制定解决方案。

标签: python pandas datetime plot


【解决方案1】:

只是几个指针:

使用 pd.read_csv (https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html) 读取 csv 时,您可以指定哪些列包含日期/时间:

df = pd.read_csv('myfile.csv', parse_dates=['date'])

然后您可以使用.dt 访问日期/时间特定功能,请参阅:https://pandas.pydata.org/pandas-docs/stable/api.html#datetimelike-properties

所以你可以添加一个只有天数的列,比如:

df['day'] = df['date'].dt.dayofyear

然后你可以按这个新列分组..

【讨论】:

  • 非常感谢 rje。我想根据 ['Time'] 列绘制数据。为此,最好使用 time64[ns] 格式的时间。我刚刚找到了 to_timedelta() 方法并通过以下方式应用它:dffinal['Time']=pd.to_timedelta(dffinal['Date/time'].dt.strftime('%H:%M:%S'),unit='s')´ Is there a more simple way to split the datetime stamp and having a ['Date'] having the format '%Y:%M:%d' and ['Time'] column? besides applying both code lines? dffinal['Dates']=dffinal['Date/time'].dt.date´ 最好的问候!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-14
  • 1970-01-01
  • 1970-01-01
  • 2019-02-15
  • 2013-10-20
  • 2020-01-05
  • 1970-01-01
相关资源
最近更新 更多