【问题标题】:Plotting in Pyplot在 Pyplot 中绘图
【发布时间】:2021-02-18 22:21:51
【问题描述】:

我是 Pyplot 的新手,只是尝试从 .csv 文件中读取数据并使用 ax.plot(x,y) 生成线图:

filepath ='Monthly_Raw_Financials.csv'
raw_data = pd.`read_csv`(filepath, index_col='Month', parse_dates=True)
fig, ax = plt.subplots()
ax.plot(raw_data.index, raw_data['Profit'])
plt.show()

我只得到一个没有绘制数据的空轴,并且错误消息“'Series' object has no attribute 'find'”。我正在遵循许多教程的示例。我做错了什么?

【问题讨论】:

  • 这是完整的代码,不是片段。 "find' 不在任何地方使用。
  • 也许尝试绘制列值,即raw_data['Profit'].values
  • 除了两个import语句from matplotlib import pyplot as plt import pandas as pd

标签: python pandas matplotlib


【解决方案1】:

在 pandas 中,列是一个 Series 对象,与 numpy 数组不太一样。它在其.values 属性中包含一个numpy 数组,但它也包含一个索引(.index 属性)。我不明白你的错误来自哪里,但你可以尝试绘制这些值,即

fig, ax = plt.subplots()
ax.plot(raw_data.index, raw_data['Profit'].values)
plt.show()

请注意,您可以在数据框上使用 plot 方法:

ax = raw_data.plot('Profit')
plt.show()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 2021-11-25
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    相关资源
    最近更新 更多