Єдине, що не було висвітлено в цих відповідях, які я хотів би зазначити, це те, що це також залежить від того, як ви використовуєте SQL. Візьмемо для прикладу архпі. Чомусь жодна з функцій arcpy.da не має багато функцій виконання. Це дійсно дивно, тому що майже всі інші бібліотеки python sql роблять. Оператор Where у функціях arcpy.da також обмежений приблизно 120 символами. Це по суті означає, що якщо у вас є відносно велика кількість речей, які ви намагаєтеся зробити зі своєю базою даних, ваш єдиний реальний вибір - викликати вибрану функцію arcpy.da кілька разів, змінюючи оператор де щоразу, коли ви робите. Ви можете скористатися кількома хитрощами, щоб прискорити цей процес - ви можете, наприклад, повторити шматки вашого набору даних, - але буквально кожен цей трюк набагато повільніше, ніж просто один arcpy.da. searchcursor, щоб завантажити всю вашу таблицю у кадр даних панди, а потім маніпулювати нею за допомогою панд, numpy, і, якщо ваші дані справді такі масивні, dask. Мені тут потрібно наголосити, що панди в цьому випадку не просто трохи швидші. Це огидно швидше. Це настільки швидше, що я буквально сміявся над собою за те, що раніше цього не робив. Використання панд знизило час виконання одного сценарію з більш ніж години - я забуваю, якщо це був стрибок з 3,5 годин або з 1,5 години - до буквально 12 хвилин. s настільки швидше, що я буквально сміявся над собою за те, що не роблю цього раніше. Використання панд знизило час виконання одного сценарію з більш ніж години - я забуваю, якщо це був стрибок з 3,5 годин або з 1,5 години - до буквально 12 хвилин. s настільки швидше, що я буквально сміявся над собою за те, що не роблю цього раніше. Використання панд знизило час виконання одного сценарію з більш ніж години - я забуваю, якщо це був стрибок з 3,5 годин або з 1,5 години - до буквально 12 хвилин.
Варто зазначити, що, хоча я міг би зробити це з sql, це знадобило б мені набагато більше часу, щоб навчитися. Я б або повинен був вивчити операції спеціально для sql в Access - ось, де закінчилися дані для цього сценарію - - sql в Access був не настільки надійним, як мені потрібно було, коли я насправді займався цим - або Мені довелося б записати всі свої дані в базу даних sqlite3, маніпулювати ними там, а потім поставити їх у Access. Хоча це могло б дати мені подібні результати продуктивності, це зробило б мій сценарій важче модифікувати в майбутньому.
Так що так, іноді Pandas і просто суворо краще, ніж використання опцій sql, які у вас є у вашому розпорядженні . Все, що мені потрібно було б зробити в sql, робилося з функцією в пандах. Ви також можете використовувати синтаксис sql з пандами, якщо хочете. Існує мало причин не використовувати панде і sql в тандемі.
Ще одне, що я хочу зазначити про Pandas і numpy, це те, що обидві ці бібліотеки за своєю природою встановлені на основі підходів. За допомогою цих бібліотек ви можете переглядати кадри даних та збирати серії, але змінити дані в такі структури насправді важко, так що ви в кінцевому підсумку записуєте більш ефективний код, встановлений на основі - з обома цими бібліотеками, тому що це набагато простіше робити. Бути "керованим", якщо не залізничним шляхом, використовуючи задані підходи, - це не те, що я відчував із SQL.
Ще одна масивна річ, яку я забув згадати з Пандами. Гроші . Pandas - це інструмент, який багато завдань Data Science хочуть, щоб ви вміли користуватися. Практично кожна робота, яку я подивилася, заплатила більше, ніж завдання типу управління базами даних. Єдиний виняток із цього, що я помітив, - це Data Engineering, але я бачив набагато менше цих оголошень. Панди виглядають так, що вони з першого погляду заробляють більше грошей.