代码之家  ›  专栏  ›  技术社区  ›  Tatiana Racheva

Pandas的Series.plot()堆叠不相交的片段,而不是相邻的片段

  •  0
  • Tatiana Racheva  · 技术社区  · 1 年前

    我正在关注来自的视频 2018 or 2019 on Coursera 解释了如何使用 pandas 这些例子是基于可以以CSV格式下载的Facebook股票数据(例如,从雅虎金融)。

    我发现 plot() 功能正常工作,我不知道如何让它做视频中说的应该做的事情。根据他们的说法,根据他们的屏幕截图(见下文),当你为不同的x轴值绘制多个系列时,你应该得到一个连续的折线图,不同的线段颜色不同。

    以下是它的外观:

    然而,我的版本 熊猫 (据推测,1.5.2)将单独的片段绘制在彼此之上,尽管这毫无意义。这是一个错误还是引入了新功能 熊猫 自2018年以来?有什么争论吗 plot() 控制这种行为的?

    我的代码:

    import pandas as pd
    
    fb = pd.read_csv("C:\\Users\\me\\Downloads\\META.csv", index_col = 'Date')
    
    fb.loc['2022-01-10':'2022-06-01', 'Close'].plot()
    fb.loc['2022-06-02':, 'Close'].plot()
    

    这是我在笔记本上看到的绘图(注意x轴上的重叠标签):

    1 回复  |  直到 1 年前
        1
  •  1
  •   Corralien    1 年前

    你必须转换 Date 列为 DatetimeIndex :

    fb = pd.read_csv('META.csv', index_col='Date', parses_dates=['Date'])
    

    索引为日期时间:

    enter image description here

    索引为字符串:

    enter image description here

    演示:

    enter image description here

        2
  •  0
  •   Tatiana Racheva    1 年前

    为了添加@Corralien的答案,我也可以修改我的 read_csv 呼叫通过 parse_dates = True 要将值自动解析为索引列中的日期,请执行以下操作:

    fb = pd.read_csv("C:\\Users\\me\\Downloads\\META.csv", index_col = 'Date', parse_dates = True)