Plot regression line for dtype Period (Q_DEC) vs int column: python

44 Views Asked by At

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"?

0

There are 0 best solutions below