2015-11-18 4 views
1

Я делаю вызов базы данных с MSSQL в Python (и я нахожусь в Linux). После того, как вы получили все отпечатки, сделанные для этого, мои звонки обычно запускают около 1 000 000 записей за одно нажатие. (Подробности В базе данных проблемы, город столкнулся и раствор)Является ли это хорошим примером использования панд в Python?

Набор запись выглядит следующим образом ..... (я только в том числе соответствующих столбцов)

Description, City, Solution 
Won't Start, Denver, Replace Spark Plugs 
Won't Start, Chicago, Add Gas 
Light Out, Denver, Replace Bulb 
Flat Tire, New York, Change Tire 
... 
... 

То, что я нужно сделать, чтобы сделать счет уникальных описаний, а под каждым описанием подсчет уникальных городов и городов ниже уникального количества решения.

Я относительный newb для Python (но мне это нравится, чем больше я его реализую), а в прошлом с использованием другого языка я бы, вероятно, экспортировал весь набор записей в SQLite и затем суммировал с использованием стандартного SQL.

Это, похоже, решение для решения pandas, но отсутствие знаний о лучшем инструменте для такого рода операций несколько отсутствует, так как я все еще изучаю Python.

Есть ли люди панды, которые могут прослушивать эту тему и, возможно, даже указать мне в правильном направлении? - JW

+2

Почему бы просто не использовать запрос базы данных для получения необходимой информации? – 7stud

+0

@ 7stud, я спрашиваю, используя T-SQL против MSSQL, который ужасно медленный, как есть, и добавляет, что ГДЕ только размалывает его до таймаута. Просто потянуть весь набор данных быстрее. –

+1

Что можно сказать о 'COUNT (выражение {[[ALL | DISTINCT]] | *}) OVER ([partition_by_clause] order_by_clause)' -> https://msdn.microsoft.com/en-us/library/ms175997. aspx – 7stud

ответ

1

Я не могу представить образец кода, не зная, как выглядят ваши данные (тип и т. Д.). Но я думаю, что вам лучше использовать set, потому что вам нужно только количество уникальных данных. Ваш счет - это только установленная длина.

И набор будет быстрее, чем панды для этого.

+0

Сейчас я это проверю. Большое спасибо! –

Смежные вопросы