python - 使用 Pandas 绘制和处理日期/时间数据
问题描述
目前,我正在从事一个项目,并希望每天从记录器中绘制数据。书面输出的格式是 .csv 文件,并在列中包含日期/时间戳,例如:2018-10-15 10:00。在其他列中,只有浮点格式的数据。我会在 00:00 到 23:50 的 10 分钟间隔内自动获得书面印章。
我希望使用 groupby() 分析数据并按天*分组,并进一步计算当天的平均值和偏差。我想将几年的平均值和 std_deviation 数据绘制为散点图或折线图。主要滴答声是几年或几个月,而天是次要滴答声。
每天,我想比较某个月份内平均值的变化,并以小时为主要刻度,每 10 分钟间隔为次要刻度,绘制整个时间间隔。如果可能的话,我希望能够把它放在一个 for 循环中。
老实说,我尝试了很多不同的可能性,但我无法仅靠一种可能性来实现所有目标。如果可以的话,我会尽量不使用 set_index() 作为日期/时间列,这样更容易应用组。为了方便起见,我正在使用 Pandas 模块来完成我的整个分析。
我会很高兴得到任何指导。
非常感谢你!!!!!
解决方案
只是几个指针:
使用 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
然后你可以按这个新列分组..
推荐阅读
- c++ - 实现模板单例类时出现 C++ 链接错误
- java - java.lang.UnsatisfiedLinkError:java.library.path 中没有 TaSESDK
- python - 将 csv 文件发送到 fastAPI 并取回一个新文件
- javascript - 获取从当前月份到年底的月份动态列表
- arrays - 使用 GCC 的可变长度数组的编译错误
- r - 安装更新版本的 xgboost
- javascript - 在反应javascript中混合material-ui元素和代码的问题
- nginx - 带有 Scalelite 负载均衡器的 Bigbluebutton
- html - Bootstrap 水平表单 - class="form-group" 不起作用
- javascript - 如何通过第一个数组的输入返回第二个数组的值