Попробуйте, используя параметр label
:
for use in uses:
sns.kdeplot(df[df['primary_use'] == use]['wind_speed'], ax=ax, label=use)
Мой MCVE:
df = pd.DataFrame(index=np.random.choice(['a','b','c'], 100), data=np.random.randint(0,100,(100)))
df=df.rename_axis('use').reset_index()
fig, ax = plt.subplots()
use=['a','b','c']
for u in use:
sns.kdeplot(df[df['use'] == u][0], ax=ax, label=u)
Выход: