【问题标题】:Plot - x must be a label or positionPlot - x 必须是标签或位置
【发布时间】:2021-05-15 07:26:13
【问题描述】:

我有一个如下的 DataFrame df

      Date     Confirmed    Deaths  Recovered
0   2020-01-30    1           0         0
1   2020-01-31    0           0         0
2   2020-02-01    0           0         0
3   2020-02-02    1           0         0
4   2020-02-03    1           0         0

在尝试绘制日期 VS 确认时

df.plot(kind ='line',x='Date',y='Confirmed')

我收到以下错误

ValueError: x 必须是标签或位置

列的数据类型是

Date         object
Confirmed     int64
Deaths        int64
Recovered     int64
dtype: object

【问题讨论】:

标签: python python-3.x matplotlib data-science line-plot


【解决方案1】:
df['Date']=pd.to_datetime(df['Date'])

尝试将 Date 列的数据类型从 Object 更改为 datetime64[ns] 数据类型。

PS:不要忘记将 pandas 导入为 pd。 ↓

import pandas as pd

【讨论】:

    【解决方案2】:

    您的代码 sn-p 非常好。 我怀疑数据框本身的 Date 列的实例类型存在问题。

    试试这个:

    from pandas.core.dtypes.generic import ABCSeries
    print(isinstance(df["Date"], ABCSeries))
    

    如果返回 False,您可以确定 Date 列不是在数据框中使用正确的实例类型创建的。 您可以尝试使用 pd.to_datetime()

    将您的日期列转换为日期时间对象

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-07
      • 1970-01-01
      • 2014-08-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多