Size: a a a

Python для анализа данных

2019 July 23

AK

Andrew Kuskov in Python для анализа данных
ребят, подскажите по результату выполнения функции, не очень понимаю, как это точно произошло

есть список:
genres = ['Drama', 'Action', 'Thriller', 'Comedy', 'Romance', 'War', 'Mystery', 'Crime']

есть функция:
def genres_rating(row):
   return pd.Series([ row['rating'] if genre in row['genres'] else np.NaN for genre in genres ])

есть метод, который применяется к датафрейму joined, который содержит в одном из столбцов genre значения типа Animation|Children|Drama|Musical по каждому фильтму :
joined[genres] = joined.apply(genres_rating, axis=1)

Я не понимаю немного, каким образом в list comprehension идет проверка вхождений значений из списка genres в столбце genres датафрейма joined
источник

AK

Andrew Kuskov in Python для анализа данных
скрин датафрейма для наглядности результата
источник

AK

Andrew Kuskov in Python для анализа данных
все, дошло)
источник

А

Алексей in Python для анализа данных
Andrew Kuskov
ребят, подскажите по результату выполнения функции, не очень понимаю, как это точно произошло

есть список:
genres = ['Drama', 'Action', 'Thriller', 'Comedy', 'Romance', 'War', 'Mystery', 'Crime']

есть функция:
def genres_rating(row):
   return pd.Series([ row['rating'] if genre in row['genres'] else np.NaN for genre in genres ])

есть метод, который применяется к датафрейму joined, который содержит в одном из столбцов genre значения типа Animation|Children|Drama|Musical по каждому фильтму :
joined[genres] = joined.apply(genres_rating, axis=1)

Я не понимаю немного, каким образом в list comprehension идет проверка вхождений значений из списка genres в столбце genres датафрейма joined
skillfactory?)
источник

AA

Aziz Apsalyamov in Python для анализа данных
Алексей
skillfactory?)
datacamp кажется)
источник

AK

Andrew Kuskov in Python для анализа данных
Алексей
skillfactory?)
ага, мозги иногда набекрень едут от таких сокращений
источник

AK

Andrew Kuskov in Python для анализа данных
Aziz Apsalyamov
datacamp кажется)
в datacamp тоже есть датасет с фильмами, там похожее задание было)
источник

А

Алексей in Python для анализа данных
Andrew Kuskov
ага, мозги иногда набекрень едут от таких сокращений
вот статья с разбором что и как, может поможет — https://habr.com/ru/post/320288/
источник

AK

Andrew Kuskov in Python для анализа данных
спасибо
источник

ВЛ

Владислав Литвинюк... in Python для анализа данных
Привет! Скажите, пж, как там может быть.
Дано 3 таблицы - сеансов (df_sessions) , срм (df_crm) , данных о расходов с рекламных систем (df_cost) .
1 случай -
Мне нужно смерджить данные про сеансы и срм по clientid, я мерджу вот так:
df_full =  df_sessions.merge(df_crm, left_on='clientId', right_on="clid", how = 'left')
Данные таким образом не мерджаться

2 случай - Я сначала мерджу срм и таблицу расходов, а потом мерджу с таблицей по сеансов.
И вуаля - у меня мерджаться данные. Как это может быть? Причёт таблица со стоимостю не нужна и ключ тот же

df_crm_and_cost = df_crm.merge(df_cost, left_on= "utmsource", right_on="source", how = 'left')

df_full = df_sessions.merge(df_crm_and_cost, left_on='clientId', right_on="clid", how = 'left')
источник

ВЛ

Владислав Литвинюк... in Python для анализа данных
таблица с расходами
источник

OB

Oleg Basmanov in Python для анализа данных
utm прям топчик
источник

ВЛ

Владислав Литвинюк... in Python для анализа данных
сам офигиваю от их разметки, у них это стандарт
источник

YP

Yuriy Prudnikov in Python для анализа данных
Владислав Литвинюк
Привет! Скажите, пж, как там может быть.
Дано 3 таблицы - сеансов (df_sessions) , срм (df_crm) , данных о расходов с рекламных систем (df_cost) .
1 случай -
Мне нужно смерджить данные про сеансы и срм по clientid, я мерджу вот так:
df_full =  df_sessions.merge(df_crm, left_on='clientId', right_on="clid", how = 'left')
Данные таким образом не мерджаться

2 случай - Я сначала мерджу срм и таблицу расходов, а потом мерджу с таблицей по сеансов.
И вуаля - у меня мерджаться данные. Как это может быть? Причёт таблица со стоимостю не нужна и ключ тот же

df_crm_and_cost = df_crm.merge(df_cost, left_on= "utmsource", right_on="source", how = 'left')

df_full = df_sessions.merge(df_crm_and_cost, left_on='clientId', right_on="clid", how = 'left')
Можно ошибку, которая возникает в первом случае?
источник

ВЛ

Владислав Литвинюк... in Python для анализа данных
Yuriy Prudnikov
Можно ошибку, которая возникает в первом случае?
просто nun
источник

ФК

Фархад Керимли... in Python для анализа данных
Владислав Литвинюк
Привет! Скажите, пж, как там может быть.
Дано 3 таблицы - сеансов (df_sessions) , срм (df_crm) , данных о расходов с рекламных систем (df_cost) .
1 случай -
Мне нужно смерджить данные про сеансы и срм по clientid, я мерджу вот так:
df_full =  df_sessions.merge(df_crm, left_on='clientId', right_on="clid", how = 'left')
Данные таким образом не мерджаться

2 случай - Я сначала мерджу срм и таблицу расходов, а потом мерджу с таблицей по сеансов.
И вуаля - у меня мерджаться данные. Как это может быть? Причёт таблица со стоимостю не нужна и ключ тот же

df_crm_and_cost = df_crm.merge(df_cost, left_on= "utmsource", right_on="source", how = 'left')

df_full = df_sessions.merge(df_crm_and_cost, left_on='clientId', right_on="clid", how = 'left')
тупое предположение, но может тип столбца разный у разных фреймов? А при джойне с костами оно мистическим образом меняется на подходящий тип для джоина с сессиями
источник

ФК

Фархад Керимли... in Python для анализа данных
у меня было подобное, перед джоином принудительно присваивал всем одинаковый тип данных
источник

YP

Yuriy Prudnikov in Python для анализа данных
Фархад Керимли
тупое предположение, но может тип столбца разный у разных фреймов? А при джойне с костами оно мистическим образом меняется на подходящий тип для джоина с сессиями
А разве не падает с ошибкой с разными типами?
источник

ФК

Фархад Керимли... in Python для анализа данных
не помню. Возможно.
источник

ФК

Фархад Керимли... in Python для анализа данных
да, точно....мне предлагало использовать в замет concat, когда типы были разные. Тогда не знаю, надо пошагово смотреть что происходит
источник