Plot - x 必须是标签或位置
Plot - x must be a label or position
我有一个 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 must be a label or position
列的数据类型是
Date object
Confirmed int64
Deaths int64
Recovered int64
dtype: object
df['Date']=pd.to_datetime(df['Date'])
尝试将日期列的数据类型从对象更改为 datetime64[ns] 数据类型。
PS:不要忘记将 pandas 导入为 pd。 ↓
import pandas as pd
您的代码片段非常好。
我怀疑数据框本身的 Date 列的实例类型存在问题。
试试这个:
from pandas.core.dtypes.generic import ABCSeries
print(isinstance(df["Date"], ABCSeries))
如果此 returns False
,您可以确定日期列不是使用数据框中的正确实例类型创建的。
您可以尝试使用 pd.to_datetime()
将日期列转换为日期时间对象
我有一个 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 must be a label or position
列的数据类型是
Date object
Confirmed int64
Deaths int64
Recovered int64
dtype: object
df['Date']=pd.to_datetime(df['Date'])
尝试将日期列的数据类型从对象更改为 datetime64[ns] 数据类型。
PS:不要忘记将 pandas 导入为 pd。 ↓
import pandas as pd
您的代码片段非常好。 我怀疑数据框本身的 Date 列的实例类型存在问题。
试试这个:
from pandas.core.dtypes.generic import ABCSeries
print(isinstance(df["Date"], ABCSeries))
如果此 returns False
,您可以确定日期列不是使用数据框中的正确实例类型创建的。
您可以尝试使用 pd.to_datetime()