Reputation: 995
How i can convert below data in individual charts(trendline) wrt to name
name month
x April 80.0
February 88.0
January 82.0
March 48.0
y April 77.0
February 76.0
January 80.0
March 82.0
z April 86.0
February 81.0
January NaN
March 85.0
Upvotes: 1
Views: 58
Reputation: 862491
Use Series.unstack
for reshape, then convert columns to CategoricalIndex
and sorting for correct order and last ploting by DataFrame.plot
:
months = ['January','February','March','April',
'May','June','July','August',
'September','October','November','December']
#your groupby code
#s = df.groupby(...)
df = s.unstack()
df.columns = pd.CategoricalIndex(df.columns, ordered=True, categories=months)
df = df.sort_index(axis=1)
print (df)
month January February March April
name
x 82.0 88.0 48.0 80.0
y 80.0 76.0 82.0 77.0
z NaN 81.0 85.0 86.0
If want swap columns and index values:
months = ['January','February','March','April',
'May','June','July','August',
'September','October','November','December']
#your groupby code
#s = df.groupby(...)
df = s.unstack(0)
df.index = pd.CategoricalIndex(df.index, ordered=True, categories=months)
df = df.sort_index()
print (df)
name x y z
month
January 82.0 80.0 NaN
February 88.0 76.0 81.0
March 48.0 82.0 85.0
April 80.0 77.0 86.0
df.plot()
Upvotes: 1