Я пытаюсь воссоздать этот отчет, который у меня есть в Excel:
Dealer Net NetSold NetRatio Phone PhSold PhRatio WalkIn WInSold WInRatio
Ford 671 31 4.62% 127 21 16.54% 93 24 25.81%
Toyota 863 37 4.29% 125 39 31.20% 97 32 32.99%
Chevy 826 67 8.11% 160 41 25.63% 224 126 56.25%
Dodge 1006 55 5.47% 121 28 23.14% 242 87 35.95%
Kia 910 57 6.26% 123 36 29.27% 202 92 45.54%
VW 1029 84 8.16% 316 65 20.57% 329 148 44.98%
Lexus 1250 73 5.84% 137 36 26.28% 138 69 50.00%
Total 6555 404 6.16% 1109 266 23.99% 1325 578 43.62%
Из CSV, который выглядит следующим образом:
Dealer LeadType LeadStatusType
Chevy Internet Active
Ford Internet Active
Ford Internet Sold
Toyota Internet Active
VW Walk-in Sold
Kia Internet Active
Dodge Internet Active
В CSV больше данных, чем это, которая будет использоваться на других страницах в этом отчете, но я действительно только хочу решить ту часть, на которой я застрял сейчас, так как я хочу узнать как можно больше и убедиться, что я нахожусь нанормальный трек, чтобы продолжать двигаться вниз.
Я смог приблизиться к тому месту, которое, как мне кажется, мне нужно, с помощью следующего:
lead_counts = df.groupby('Dealer')['Lead Type'].value_counts().unstack()
, что, конечно, дает красивые данные, суммирующиеприводит по типу.Проблема в том, что мне теперь нужно вставить вычисляемые столбцы на основе других полей.Например: для каждого дилера подсчитайте количество лидов, которые являются LeadType = 'Internet' И LeadStatusType = 'Sold'.
Я честно перепробовал столько вещей, что не смогузапомнить их все.
def leads_by_type(x):
for dealer in dealers:
return len(df[(df['Dealer'] == dealer) &(df['Lead Type'] == 'Internet') & (df['Lead Status Type'] == 'Sold')])
Попробовал что-то вроде этого, где я могу надежно получить данные, которые я ищу, но я не могу понять, применить ли это к столбцу.
Я просто попробовал:
lead_counts['NetSold'] = len(df[(df['Dealer'] == dealer) &(df['Lead Type'] == 'Internet') & (df['Lead Status Type'] == 'Sold')])
Любой совет, как поступить, или я уже поступаю по этому поводу неправильно?Это все очень выполнимо в Excel, и меня часто спрашивают, почему я пытаюсь повторить это в Python.Ответ - просто автоматизация и обучение.
Я знаю, что некоторые столбцы не совсем совпадают в таблице и коде, это просто потому, что я сократил некоторые из них на столе, чтобы очистить их для публикации.