Jedyną rzeczą nieuwzględnioną w tych odpowiedziach, o której chciałbym wspomnieć, jest to, że zależy to również od tego, jak używasz SQL. Weźmy na przykład arcpy. Z jakiegoś powodu żadna z funkcji arcpy.da nie ma funkcji wykonywania wielu. To jest naprawdę dziwne, ponieważ robi to prawie każda inna biblioteka języka Python SQL. Instrukcja Where w funkcjach arcpy.da jest również ograniczona do około 120 znaków. Zasadniczo oznacza to, że jeśli masz dość dużą liczbę rzeczy, które próbujesz zrobić z bazą danych, jedynym prawdziwym wyborem jest wielokrotne wywołanie wybranej funkcji arcpy.da, zmieniając za każdym razem instrukcję where. Istnieje kilka sztuczek, których można użyć, aby przyspieszyć ten proces - na przykład możesz iterować fragmenty zbioru danych - ale dosłownie każda z tych sztuczek jest znacznie wolniejsza niż użycie jednego pliku arcpy.da. searchcursor, aby załadować całą tabelę do ramki danych pand, a następnie manipulować nią za pomocą pand, numpy i, jeśli twoje dane są tak ogromne, dask. Muszę tutaj podkreślić, że w tym przypadku pandy nie są tylko trochę szybsze. Jest obrzydliwie szybszy. Jest o wiele szybszy, że dosłownie śmiałem się z siebie, że nie zrobiłem tego wcześniej. Korzystanie z pand skróciło czas wykonywania jednego skryptu ze znacznie ponad godziny - zapominam, czy był to skok z 3,5 godziny, czy z 1,5 godziny - do dosłownie 12 minut. jest o wiele szybszy, że dosłownie śmiałem się z siebie, że nie zrobiłem tego wcześniej. Korzystanie z pand skróciło czas wykonywania jednego skryptu ze znacznie ponad godziny - zapominam, czy był to skok z 3,5 godziny, czy z 1,5 godziny - do dosłownie 12 minut. jest o wiele szybszy, że dosłownie śmiałem się z siebie, że nie zrobiłem tego wcześniej. Korzystanie z pand skróciło czas wykonywania jednego skryptu ze znacznie ponad godziny - zapominam, czy był to skok z 3,5 godziny, czy z 1,5 godziny - do dosłownie 12 minut.
Należy zauważyć, że chociaż mógłbym to zrobić za pomocą SQL, zajęłoby mi to dużo więcej czasu. Musiałbym albo nauczyć się operacji specjalnie dla sql w Accessie - tam właśnie skończyły się dane dla tego skryptu - - sql w Accessie nie był tak solidny, jak powinienem być, kiedy tak naprawdę chciałem to zrobić - lub Musiałbym zapisać wszystkie moje dane w bazie danych sqlite3, zmanipulować je, a następnie umieścić w programie Access. Chociaż może to dać mi podobne wyniki wydajności, trudniej byłoby zmodyfikować mój skrypt w przyszłości.
Więc tak, czasami Pandy i jest po prostu zdecydowanie lepsze niż korzystanie z opcji SQL, które masz do dyspozycji . Wszystko, co musiałem zrobić w sql, zostało zrobione z funkcją w pandach. Możesz także użyć składni sql z pandami, jeśli chcesz. Nie ma powodu, aby nie używać pand i sql w tandemie.
Jeszcze jedną rzeczą, o której chcę wspomnieć o Pandach i Numpy, jest to, że obie te biblioteki są z natury oparte na zestawach. Możesz przeszukiwać ramki danych i tworzyć serie za pomocą tych bibliotek, ale naprawdę trudno jest modyfikować dane w takich strukturach, więc skończysz na pisaniu bardziej wydajnego - opartego na zestawie kodu - w obu tych bibliotekach tylko dlatego, że o wiele łatwiej jest zrobić. Bycie „prowadzonym”, jeśli nie nakierowanym na podejście oparte na zestawach, nie jest czymś, czego doświadczyłem w SQL.
Jeszcze jedna ogromna rzecz, o której zapomniałem wspomnieć o Pandach. Pieniądze . Pandy to narzędzie, z którego wiele zadań związanych z nauką danych chce wiedzieć, jak korzystać. Prawie każde zadanie w zakresie Data Science, na które spojrzałem, opłacało więcej niż zadania typu zarządzanie bazą danych. Jedyny wyjątek od tego, co zauważyłem, dotyczy inżynierii danych, ale widziałem znacznie mniej takich ofert pracy. Wygląda na to, że pandy na pierwszy rzut oka dają więcej pieniędzy.