Предположим, у меня есть вымышленный pandas dataframe df
.
Предположим, что он имеет три столбца: gender
, height
и weight
Есть ли встроенныйили эффективный метод для получения корреляции height
и weight
для каждого gender
?
Что я сделал до сих пор:
- Ручная фильтрация фреймов данных длякаждого пола, а затем запустите
корреляции для каждого. - Это сработало на моем семпле, но в производственном наборе развалится, потому что у меня больше категорий, чем просто
gender
.У меня есть сотни.
Пример моего неоптимального кода:
df_m=df[(df['gender']=='male')]
df_m['height'].corr(df_m['weight'])
df_f=df[(df['gender']=='female')]
df_f['height'].corr(df_f['weight'])
Идеальный результат:
'gender' 'correlation'
'male' .9007876876
'female' .8777687666