Learn practical skills, build real-world projects, and advance your career
import seaborn as sns

df=sns.load_dataset("diamonds")
df.head()
colors=["D","E","F","G","H","I","J"]
from pandas.api.types import CategoricalDtype

df.color=df.color.astype(CategoricalDtype(categories=colors,ordered=True))
df.color
0        E
1        E
2        E
3        I
4        J
        ..
53935    D
53936    D
53937    D
53938    H
53939    D
Name: color, Length: 53940, dtype: category
Categories (7, object): [D < E < F < G < H < I < J]
sns.barplot(x="cut",y="price",hue="color",data=df);
Notebook Image
df.groupby(["cut","color"])["price"].mean()
cut        color
Fair       D        4291.061350
           E        3682.312500
           F        3827.003205
           G        4239.254777
           H        5135.683168
           I        4685.445714
           J        4975.655462
Good       D        3405.382175
           E        3423.644159
           F        3495.750275
           G        4123.482204
           H        4276.254986
           I        5078.532567
           J        4574.172638
Ideal      D        2629.094566
           E        2597.550090
           F        3374.939362
           G        3720.706388
           H        3889.334831
           I        4451.970377
           J        4918.186384
Premium    D        3631.292576
           E        3538.914420
           F        4324.890176
           G        4500.742134
           H        5216.706780
           I        5946.180672
           J        6294.591584
Very Good  D        3470.467284
           E        3214.652083
           F        3778.820240
           G        3872.753806
           H        4535.390351
           I        5255.879568
           J        5103.513274
Name: price, dtype: float64