Как найти связь между двумя категориальными переменными, которые находятся в одном столбце фрейма данных, используя Pandas и Scipy?

#python #pandas #scipy #statistics #correlation

Вопрос:

У меня есть фрейм данных со столбцом «СОБЫТИЕ», в котором есть три переменные, называемые «клик», «просмотр страницы» и «предварительный просмотр». Я хочу проверить наличие какой-либо корреляции между кликами и предварительным просмотром по ссылке? Если да, то является ли это значительным и насколько велик эффект? И я хочу проверить потенциальные линейные и двоичные отношения между этими двумя переменными.

Случайная выборка, в которой показаны мои столбцы и записи фрейма данных, показана ниже. введите описание изображения здесь

Я попробовал следующие коды, используя метод Pandas corr (), но ни один из них не сработал.

 pageviews = df.loc[df.event == 'pageview'] clicks = df.loc[df.event == 'click'] pageviews.corr(clicks)  

Я получил следующее сообщение об ошибке, когда запустил этот код:

 ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().  

И когда я запустил метод corr() для всего столбца, как показано ниже:

 df['event'].corr()  

Я получаю следующее сообщение об ошибке

 TypeError: corr() missing 1 required positional argument: 'other'  

Мой вопрос в том, используя Pandas или Scipy, как я мог бы проверить, существует ли корреляция или взаимосвязь между категориями кликов и просмотров страниц в столбце события, как показано в приведенном выше кадре данных? И как мне проверить статистическую значимость взаимосвязи, если таковая имеется?

Комментарии:

1. Вы не можете запустить тест на корреляцию для столбца и самого себя. Вы пытаетесь сопоставить количество кликов/просмотров страниц по ссылке? Если это так, вы можете сделать что-то вроде df.groupby('linkid')['event'].value_counts().unstack()[['pageview', 'click']].corr() . Здесь рассматривается корреляция между количеством кликов/просмотров страниц на основе КАЖДОЙ ССЫЛКИ, что является ключевым шагом.

2. @BrianJoseph Я думаю, что это решение выглядит так, как будто это то, что я пытаюсь сделать. Меня просят проверить корреляцию между кликом и событием просмотра страницы по ссылкам. Я опробую ваш подход.