Pandas datetime64问题(日期时间导致数据峰值)

问题描述 投票:0回答:1

这是我关于stackoverflow的第一个问题,请客气:)我使用导入的csv文件和熊猫,非常喜欢熊猫的datetime工作和过滤数据帧的可能性。但是在使用日期作为datetime64时,我很难以一种整洁的方式绘制数据。使用熊猫图或海洋图时都可以。我的csv看起来像这样:

    date time   Flux_ConNT_C    Flux_ConB1  Flux_ConB2  Flux_ConB3  Flux_ConB4  Flux_ConB4
0   01.01.2015 00:30    2.552032129 2.193558665 1.0093326   1.013124869 1.159512896 1.159512896

1   01.01.2015 01:00    2.553308464 2.195533756 1.01003938  1.013935693 1.160672989 1.160672989

2   01.01.2015 01:30    2.554585438 2.197510626 1.010746655 1.014747166 1.161834243 1.161834243

3   01.01.2015 02:00    2.55586305  2.199489276 1.011454426 1.015559289 1.162996658 1.162996658

4   01.01.2015 02:30    2.557141301 2.201469707 1.012162692 1.016372061 1.164160236 1.164160236

当我用...绘制数据时>

df.plot(figsize=(15,8))

我的输出是right output

但是当我将“ date time”列更改为'datetime64 with]时>

df['date time'] = pd.to_datetime(df['date time'])

并使用相同的代码进行绘制,以这些尖峰及其不可用的false output来绘制数据>

matplotlib似乎有问题,但是除了在情节之前放置register_matplotlib_converters()之外,我什么都找不到,这没有任何改变。我正在使用Spyder IDE和Python 3.7,并且所有库都是最新的。感谢您的帮助!

这是我关于stackoverflow的第一个问题,所以请客气:)我使用导入的csv文件和熊猫,并且非常喜欢熊猫日期时间功能来工作和过滤数据帧。但是我很认真...

您的问题不是奇迹,这是不可复制的。

  1. 您确定您的csv没有第一个索引列0..4的标题吗?
  2. 您确定在csv列8中是否与第7列重复?
  • 您实际上是如何导入此csv并构造您的数据框的?
  • 第一个绘图仅在将范围索引0..4替换为“日期时间”列之后才起作用。在调用plot方法之前,还对数据框进行了哪些其他转换?
  • 您的to_datetime
  • 转换仅适用于列,而不适用于索引。为什么不共享您一直在使用的所有代码?
  • 在2个图中,前5行没有区别。您为什么不共享在两个图中实际上不同的数据行?
  • 我会因尝试适当地抽象出问题而给您功劳。不幸的是,您省略了重要信息。根据您在此处显示的有限信息,完全没有问题。

    [明确说明:您观察到的内容与datetime64 [ns]转换无关,但可能很简单,您认为与我们分享的重要性不那么重要。

    看看How to create a Minimal, Reproducible Example。这个想法是:当您能够以可复制的方式准备问题时,您可能会自己解决。

    python pandas datetime matplotlib plot
    1个回答
    0
    投票

    您的问题不是奇迹,这是不可复制的。

    © www.soinside.com 2019 - 2024. All rights reserved.