I am unable to plot a regression line for a simple dataframe that consists of a period formatted date column and a integer column. The sample dataframe may be created using below code:
df = pd.DataFrame({"quarter": ['2017Q1', '2017Q2', '2017Q3', '2017Q4',
'2018Q1', '2018Q2', '2018Q3', '2018Q4'],
"total": [392, 664, 864,1024,
1202, 1375, 1532, 1717]
})
df["quarter"] = pd.to_datetime(df["quarter"]).dt.to_period('Q')
To generate a regression plot, I am using below code:
ax = sns.regplot(
data=df,
x='quarter',
y='total',
)
plt.show();
However, I am getting an error as follows:
TypeError: float() argument must be a string or a number, not 'Period'
Converting the Period column to a string/object format did not fix the issue and I am not able to convert it to an integer format either.
Can somebody help provide a way to generate a regression trend line for "total" vs "quarter"?