【问题标题】:How to plot date column as x-axis and data on y axis in Python如何在Python中将日期列绘制为x轴和y轴上的数据
【发布时间】:2015-11-15 05:52:39
【问题描述】:

我在 csv 文件中有以下形式的数据:

date    unepmloyment    inflation
01-01-1948  3.4 2.2
01-02-1948  3.8 2.05
01-03-1948  4   1.5
01-04-1948  3.9 1.82
01-05-1948  3.5 2.06
01-06-1948  3.6 2.07
01-07-1948  3.6 2.17
01-08-1948  3.9 2.03
01-09-1948  3.8 1.52
01-10-1948  3.7 1.4
01-11-1948  3.8 1.1
01-12-1948  4   0.64
01-01-1949  4.3 0.33
01-02-1949  4.7 0.24

我想在 x 轴上绘制日期列,在 y 轴上绘制与给定数据日期相对应的另外两列。

我的代码:

import pandas as pd 
import numpy as np
import matplotlib.pyplot as plt

my_data = pd.read_csv('my_file.csv', index_col = 1) 
array_data = np.array(my_data)
y = array_data[:,2] 
x = array_data[:,0] 
plt.plot(x, y, color='black', linestyle=':', label='something something')    
plt.show()

由于我是编程新手,有人可以帮忙。

【问题讨论】:

  • 如果您可以将代码添加到问题中,会更容易提供帮助。
  • 它的以下 import pandas as pd my_data = pd.read_csv('my_.csv', index_col = 1) array_data = np.array(my_data) y = array_data[:,2] x = array_data [:,0] import matplotlib.pyplot as plt plt.plot(x, y, color='black', linestyle=':', label='something something') plt.show()

标签: python date csv matplotlib plot


【解决方案1】:

尝试解析日期并使用 pandas 绘制完整的数据框:

import pandas as pd 
import matplotlib.pyplot as plt

my_data = pd.read_csv('test.csv',parse_dates=['date'],index_col=['date'],dayfirst=True)

my_data.plot(linestyle=':') 

plt.show()

对我来说返回:

【讨论】:

    【解决方案2】:

    使用pandas 内置DataFrame.plot() 命令应该可以工作。

    对于您的数据,您可能需要告诉read_csv 您的日期优先于日期(默认为月份优先):

    import pandas as pd 
    import matplotlib.pyplot as plt
    
    my_data = pd.read_csv('my_file.csv',dayfirst=True,index_col=0)
    my_data.plot()
    
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多