Чому люди віддають перевагу Pandas перед SQL?


69

Я використовую SQL з 1996 року, тому я можу бути упередженим. Я широко використовував MySQL та SQLite 3, але також використовував Microsoft SQL Server та Oracle.

Переважна більшість операцій, які я бачив з Pandas, можна простіше виконати за допомогою SQL. Це включає фільтрацію набору даних, вибір конкретних стовпців для відображення, застосування функції до значень тощо.

Перевага SQL має оптимізатор та збереження даних. У SQL також є повідомлення про помилки, які є зрозумілими і зрозумілими. У Pandas є дещо криптований API, в якому іноді доречно використовувати один [ stuff ], інший раз, коли потрібно [[ stuff ]], а іноді потрібно .loc. Частина складності Панд виникає через те, що відбувається стільки перевантажень.

Тому я намагаюся зрозуміти, чому Pandas так популярний.


Коментарі не для розширеного обговорення; ця розмова перенесена в чат .
Шон Оуен

Відповіді:


51

Справжнє перше питання - чому люди більш продуктивні з абстракціями DataFrame, ніж чисті абстракції SQL.

TLDR; SQL не орієнтований на процес розробки та налагодження (людини), DataFrames.

Основна причина полягає в тому, що абстракції DataFrame дозволяють створювати оператори SQL, уникаючи багатослівного і нерозбірливого вкладення. Шаблон написання вкладених процедур, коментування їх для перевірки, а потім їх коментування замінюється одинарними рядками перетворення. Ви, природно, можете вести речі за рядком у відбитті (навіть у Spark) та переглядати результати.

Розглянемо приклад додавання нового перетвореного (стовпчастого стовпчика) до таблиці, а потім групування за ним та проведення деяких агрегацій. SQL стає дуже некрасивим. Панди можуть вирішити це, але не вистачає деяких речей, коли мова йде про справді великі дані або окремі розділи (можливо, останнім часом покращені).

DataFrames слід розглядати як API високого рівня для підпрограм SQL, навіть якщо з пандами вони зовсім не надаються якомусь планувальнику SQL.

-

Можливо, ви можете мати багато технічних дискусій навколо цього, але я розглядаю перспективу користувача нижче.

Однією з простих причин, чому ви можете бачити набагато більше питань щодо маніпулювання даними Pandas на відміну від SQL, полягає в тому, що використовувати SQL, за визначенням, означає використовувати базу даних, і багато випадків використання в ці дні просто вимагають бітів даних для ' однофамільні завдання (від .csv, веб-api тощо). У цих випадках завантаження, зберігання, маніпулювання та вилучення з бази даних не є життєздатним.

Однак, розглядаючи випадки, коли випадок використання може виправдати використання Pandas або SQL, ви, звичайно, не помиляєтесь. Якщо ви хочете виконати багато, багаторазові завдання маніпулювання даними та зберегти результати, я завжди рекомендую спробувати перейти через SQL. З того, що я бачив, чому багато користувачів, навіть у цих випадках, не переходять через SQL, є дворазовим.

По-перше, головна перевага панд у порівнянні з SQL полягає в тому, що це частина ширшого всесвіту Python, а це означає, що я можу одним завантаженням, очищенням, маніпулюванням та візуалізацією даних (я можу навіть виконувати SQL через Pandas ...). Інший - просто, що надто багато користувачів не знають ступеня можливостей SQL. Кожен початківець вивчає синтаксис вилучення SQL (SELECT, FROM, WHERE тощо) як спосіб перенести ваші дані з БД на наступне місце. Деякі можуть підібрати деякі з більш синтаксичного синтаксису групування та ітерації. Але після цього, як правило, існує досить значна прірва знань, поки ви не потрапите до експертів (DBA, Data Engineers тощо).

tl; dr: Часто це залежить від використання, зручності чи розриву в знаннях щодо обсягу можливостей SQL.


2
Думаю, що SQL, який багато в чому встановлюється, відіграє велику роль, коли багато людей з інших технічних областей звикли обробляти дані по черзі. Також врахуйте, що дані - це лише дані про панди, але різні двигуни SQL підтримують різні вбудовані функції, які можуть отримати диво-роздратовану швидкість, якщо вам доведеться рубати та змінювати протягом робочого дня
Дейв

3
Я б не сказав, що це нежиттєздатно. Якщо ви можете отримати дані в кадр даних панди, ви, ймовірно, можете перенести їх у DBD PostgreSQL. Але для одного і готового - це, мабуть, більше зусиль та часу, ніж ви заощадите.
jpmc26

2
Я погоджуюся, що деякі підходи ETL є рішеннями, орієнтованими на програмування. Тобто вони вважають за краще маніпулювати даними, а потім представляти цю "ідеальну" корисну навантаження в базу даних. Однак, як ви вказуєте, якщо це можна зробити за допомогою декількох запитів SQL, додатковий програмний шар зайвий. Саме з тим, з чим я стикався недавно. Як вказує ОП і ваша відповідь, може бути, що "старі школи" або DBA-орієнтовані люди дивляться на це і кажуть, чому б не зробити цього в SQL (навіть просто кілька простих запитів!). Це означає, що я знайшов панди дуже потужними для надзвичайно різноманітних наборів даних.
SaltySub2

1
@SaltySub Якраз питання про переміщення речей із програмного шару в SQL: Це справедливий момент і може бути абсолютно справедливим, однак, якщо поховати логіку програми в процедурах SQL, може принести свій особливий смак головного болю.
Електрична голова

1
@ElectricHead Я погоджуюся, що потрібен правильний баланс. Якщо ряд запитів SQL може виконати завдання адекватно, це, безумовно, може бути простіше і ефективніше. І навпаки, як ви вказуєте, якщо вам належить розмістити величезну кількість логіки в SQL-процедурах тощо, то пандам слід серйозно враховувати. Зокрема, як вище, якщо ви використовуєте різні аромати бази даних - різниці в синтаксисі SQL можуть бути дуже волохатими.
SaltySub2

29

Стільки, скільки перекриття в застосуванні цих двох речей, це порівняння яблук з апельсинами.

pandas - це інструментарій аналізу даних, реалізований на Python, загальній мові програмування. SQL - це доменна мова для запиту реляційних даних (як правило, в системі управління реляційною базою даних, приклади якої є SQLite, MySQL, Oracle, SQL Server, PostgreSQL тощо).

SQL має на увазі

  • робота з даними в RDBMS *, які можуть бути або не підходять для навантаження, навіть якщо це лише невелика база даних SQLite,
  • знання домену бази даних (як кінцевий користувач, розробник та / або адміністратор; припущення про те, що "SQL швидше", я часто бачу, є масовим надмірним спрощенням), і
  • подолання несуттєвої кривої навчання в ефективному використанні SQL, особливо в спеціальних додатках, таких як аналіз даних (на відміну від створення простих звітів простих даних).

* Варто підкреслити той факт, що SQL настільки специфічний для домену, що він стає набагато менш актуальним для роботи зі все більш поширеними альтернативами реляційних баз даних, таких як бази даних NoSQL . Це є принциповим зрушенням у тому, як зберігаються та структуруються дані, і насправді немає загальноприйнятого способу доступу до нього, як розробка стандартизації SQL, спрямованої на досягнення.

З іншого боку, Python (панди досить «пітонічні», тому це справедливо) тут є гнучким та доступним для людей з різних груп. Його можна використовувати як "мову сценаріїв", як функціональну мову та повнофункціональну мову OOP. Можливості візуалізації та інтероперабельність джерела даних вбудовані в панди, але ви можете включити все, що може зробити Python, у свій робочий процес (що більшість речей); наукова екосистема Python розширилася і включає в себе чудові інструменти, такі як Jupyter Notebook та основні бібліотеки scipy, такі як matplotlib і numpy (на яких базуються панди). Важливими елементами аналізу даних панд є R-натхненно, і ви, як правило, не знайдете статистиків, які придумують та хизуються щодо того, чи використовують вони R (або, можливо, все частіше панди!) над тим, щоб все вмістити в базі даних і написати свої аналітики в SQL.

Я не кажу, що панди краще, ніж SQL, або навпаки, але SQL - це дуже специфічний для домену інструмент, тоді як панди є частиною гігантської, гнучкої та доступної екосистеми. Я працюю з геопросторовими системами даних, серед яких величезна частина є реляційними базами даних, а SQL є потужним і важливим інструментом. Однак панди є не менш важливою частиною мого повсякденного набору інструментів, і SQL часто відводиться для отримання даних - можливо, з попередньою обробкою - тому я можу робити з ним речі в пандах.


1
Це єдина правдива відповідь, вона повинна бути обраною. SQL і Pandas - це дві різні речі, я не розумію, що порівняння намагаються зробити люди.
помер

Я підозрюю, що це перспектива для кінцевого споживача написати щось подібне до коду, щоб дістати і масажувати деякі дані звідкись і виплюнути деякі цифри. Я не зовсім здивований; Я мав досвід з того, як аналітики даних, представлені зі старою, але інакше не примітною базою даних Oracle, навіть не уявляють, що це таке, і як підключитися до нього, не кажучи вже про те, щоб отримати дані. Я вважаю, що це зраджує принциповим нерозумінням технології - я насправді трохи додав, щоб сподіватися підкреслити, наскільки швидко нерозуміння сфери SQL падає.
Електрична голова

Я б заперечував над тим, щоб бути невідповідними ситуаціям із NoSQL. Розглянемо для прикладу кроки, які зробив PostgreSQL зі своїм сховищем JSON.
jpmc26

Я намагався ретельно вибирати свої слова; PostgreSQL як і раніше є RDBMS, незважаючи на те, що він робить багато речей добре (як і SQL Server, незважаючи на підтримку графіків). Але я розслабив формулювання на дотик, тому що це все-таки хороший момент: є деякі кросовер і, що важливо, API SQL існують для деяких систем NoSQL. Це є кросовер , хоча, SQL не є універсальною мовою , а не всі дані структуровані реляційними.
Електрична голова

Я думаю, ви можете зробити все в SQL, що можливо в пандах. SQL не є гнучким, але настільки оптимізований.
Медіа

22

По-перше, панди не настільки популярні. Я використовую і панди, і SQL. Спочатку я намагаюся зрозуміти завдання - якщо це можна зробити в SQL, я віддаю перевагу SQL, оскільки він більш ефективний, ніж панди. Спробуйте працювати над великими даними (1000000 x 50). Спробуйте зробити деяку групову операцію як у SQL, так і в пандах. Ви зрозумієте.

Я використовую панди, коли це зручно, як розділити значення стовпця на масив і виконувати на ньому деякі речі (наприклад, вибираючи з цього масиву лише деякі значення). Зараз цей вид задач порівняно важко кодувати в SQL, але панди полегшать ваше завдання.


Чи характерна ця неефективність для панд? Я здійснив досить багато маніпуляцій із пам'яттю в C # і виявив це досить просто та ефективно, за умови, що він відповідає пам’яті та був одноразовим (тобто не потрібно поступово оновлювати індекси під час зміни даних).
CodesInChaos

Панди повинні бути зручні швидкі, але це не означає, що це не може бути швидким, якщо ви правильно його використовуєте. Зрештою, виконання SQL-запиту на даних у базі даних не є магічним - воно вимагає ресурсів, як що завгодно, це просто те, що (якщо ви це зробите правильно!), Сподіваємось, ви використовуєте ресурси на ретельно налаштованих, надійних серверах баз даних . Отримати ваш трубопровід прямо в пандах або подібних (наприклад, потокове передавання даних, а не завантаження їх у пам'ять), визначається, наскільки успішними є певні зусилля.
Електрична голова

@CodesInChaos Є така відповідь панд проти SQl - qr.ae/TUIpzE . Там описані переваги та недоліки використання панди.
Анкіт Сет

12

Я з тих людей, хто використовував (у моєму випадку) d-drr R (мова, не обов'язково інструмент) у кожному випадку, якби міг, хоч і знаю свій SQL.

Основна вигода, яку я бачу в трубопроводах Pandas / dplyr / data.table, полягає в тому, що операції є атомними і їх можна читати зверху вниз.

У SQL вам потрібно проаналізувати весь сценарій, стрибаючи навколо (що зводиться, що з’єднується і як - зліва? Внутрішній? Праворуч? Чи застосовуються фільтри?), Щоб повністю зрозуміти, що відбувається.

У Pandas et al кожен крок трубопроводу є автономним, він робить щось із вхідними даними та повертає вихідні дані, цей послідовний процес полегшує міркування про те, що відбувається, оскільки існує чітко визначений стан для кожної операції, а не тільки для рівень запиту.

Так, ви можете робити WITHзаяви та ін., Але для цього потрібно набагато більше коду та не так зрозуміло, який об’єкт використовується порівняно з трубопроводом.


6

Я досить новачок у Pandas / Python, але в мене більше 20 років як DQL SQLServer, архітектор, адміністратор тощо. Я люблю Pandas, і я наполягаю на тому, щоб завжди намагатися зробити так, щоб все працювало в Pandas, перш ніж повертатися до зручності, затишний світ SQL.

Чому RDBMS краще: Перевагою RDBMS є їх багаторічний досвід оптимізації швидкості запитів та операцій з читання даних. Вражає те, що вони можуть це робити, одночасно врівноважуючи необхідність оптимізувати швидкість запису та керувати сильно одночасним доступом. Іноді ці додаткові накладні витрати надають перевагу Pandas, коли мова йде про прості випадки використання для одного користувача. Але навіть тоді досвідчений DBA може налаштувати базу даних, щоб бути оптимізованою для швидкості читання над швидкістю запису. DBA можуть скористатися такими речами, як оптимізація зберігання даних, стратегічний розмір сторінок диска, заповнення / доповнення сторінок, контролер даних та стратегії розподілу диска, оптимізовані плани вводу / виводу, закріплення даних в пам'яті, попередньо визначені плани виконання, індексація, стиснення даних , та багато іншого. У мене склалося враження від багатьох розробників Pandas, які вони не роблять ' t розуміти глибину, яка там доступна. Я думаю, що зазвичай трапляється так, що якщо розробник Pandas ніколи не має даних, які є достатньо великими для необхідності цих оптимізацій, вони не оцінюють, скільки часу вони можуть врятувати вас поза коробкою. Світ RDBMS має 30-річний досвід оптимізації цього, тому, якщо потрібна швидка швидкість на великих наборах даних, RDBMS можна обіграти.

Чому Python / Pandas краще: Однак, швидкість - це не все, і в багатьох випадках використання не є рушійним фактором. Це залежить від того, як ви використовуєте дані, чи є ними спільні дані, і чи дбаєте ви про швидкість обробки. RDBMS, як правило, більш жорсткі в своїх структурах даних і тягають на розробника більш детерміновані форми даних. Панди дозволяють вам бути тут більш вільним. Крім того, і це моя найулюбленіша причина - ви справжньою мовою програмування. Мови програмування дають вам нескінченно більшу гнучкість у застосуванні розробленої логіки до даних. Звичайно, є також багата екосистема модулів та сторонні рамки, до яких SQL не може наблизитися. ДУЖЕ зручно мати можливість переходити від необроблених даних аж до веб-презентації чи візуалізації даних в одній базі коду. Це також набагато портативніше. Ви можете запускати Python майже в будь-якому місці, включаючи загальнодоступні ноутбуки, що дозволяють швидше дістатись до людей. Бази даних в цьому не переважають.

Моя порада? Якщо ви виявите, що закінчуєте все більші та більші набори даних, ви зобов'язані зайнятись і дізнатися, як RDBMS може допомогти. Я бачив мільйони приєднань до кількох таблиць, підсумовував сукупні запити, налаштовані від 5 хвилин до 2 секунд. Маючи це розуміння у своєму інструментальному поясі, це просто робить вас більш чітким вченим. Ви можете зробити все в Pandas сьогодні, але одного дня у вас можуть бути завдання, де RDBMS - найкращий вибір.


5

Те, що Pandas може зробити, те, що SQL не може зробити

  1. df.describe()
  2. Плоттування, наприклад df['population'].plot(kind='hist')
  3. Використовуйте фрейм даних безпосередньо для алгоритмів навчання машинного навчання

Те, що Pandas може зробити, я не знав, що SQL може також зробити

  1. Експорт в CSV: df.to_csv('foobar.sv'). Це важливо, коли ви хочете щось показати власнику бізнесу, який хоче працювати з Excel. І є df.to_excelтакож. Але в SQL ви можете це зробити SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM test_table;(спасибі, vy32!)

1
Приємно. Хоча більшість із них здаються функціями, які можуть бути реалізовані в SQL. (У SQL є безпосередньо експорт CSV.)
vy32

Чи можете ви надішліть мені запит, який експортує в CSV? (Я знаю лише інструменти, які роблять це для деяких баз даних на основі SQL, але я ніколи не бачив запитів ... тому я сумніваюся, що це частина специфікації SQL)
Мартін Тома,

1
SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM test_table; Дивіться dev.mysql.com/doc/refman/8.0/en/select-into.html
vy32

Дуже дякую, ви! Думаю, я підправлю свою відповідь, коли буду вдома :-)
Мартін Тома,

Звісна річ. Пам'ятайте, що файл потрапляє на SQL-сервер, а не на клієнт.
vy32

3

Єдине, що не було висвітлено в цих відповідях, які я хотів би зазначити, це те, що це також залежить від того, як ви використовуєте 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, але я бачив набагато менше цих оголошень. Панди виглядають так, що вони з першого погляду заробляють більше грошей.


5
Можливо сумно, що якщо мова йде про сучасні робочі місця, мова йде про те, щоб у вашому резюме мати правильні мовні слова, а не підходи, які ви застосовуєте до вирішення проблеми (якщо припустити, що ви можете навчитися сказаному слову відносно швидко). Це як би мовлення важливіше, ніж вирішення проблеми. Коли розв’язання задачі для X повинно включати навчання та використання технологій A, B, C, а не зворотне. Цікаво, чи більшість команд розробників зараз розтрощили речі через мозку та модність, а тоді подумайте про вирішення проблем як про вторинну чи «стару шкільну» річ, тому що ви не знали / не використовували сказане слово.
SaltySub2

1
@ElectricHead з мого досвіду, якщо ви пишете власну функцію, що стосується sql в python, простіше просто зловживати курсором і писати погані запити, ніж використовуєте панди / numpy. Треба пам'ятати, що не всі модулі / бібліотеки sql створені однаково. У моєму випадку, з arcpy.da.SearchCursors тощо, насправді не є хорошим способом зробити щось ефективним для купі записів через дивні обмеження. Якщо я використовую pandas / numpy, це стає одним хорошим способом робити речі, і це те, що я хочу при використанні python.

1
А-а-а, гаразд. Ви маєте на увазі домотканий конвеєр SQL через реалізацію python dbapi порівняно з використанням numpy / pandas? У такому разі, так, жодного аргументу у мене немає; необхідний догляд! Він читав мені як звичайний SQL, з яким вам, очевидно, потрібно зрозуміти задані операції, але це з'ясується досить швидко, коли виконуються дурні запити від клієнта бази даних.
Електрична голова

1
@Steve Так, не зупинить людей, які намагаються динамічно змінювати речі в циклі в пандах чи подібних :) Однак я думаю, що розуміння SQL допомагає ефективно працювати в пандах (це не так, як вони приховують подібність у деяких концепціях).
Електрична голова

1
@Steve Справді панди теж потужні ... Я думаю, що одне з моїх розладів - це розробники та менеджмент обох, в тому числі і я, не витрачаючи належного часу на оцінку рішень та переслідування тенденцій (де гроші залучаються для просування самої / компанії). Але навіть у худорлявому прототипуванні / mvp потрібно було б закласти відповідну основу для масштабування. SQL, noSQL і Pandas ... всі мають свої цілі для відповідних завдань і проектів на різних етапах. За останній рік плюс, noSQL для бережливого прототипу / mvp, безумовно, допомагав мені більш ніж одним способом. SQL був би надмірним для цього.
SaltySub2

3

Я подумав, що хочу додати, що я роблю багато аналізу даних на основі часових рядів, і панди resampleта reindexметоди є безцінними для цього. Так, ви можете робити подібні речі в SQL (я прагну створити DateDimensionтаблицю для допомоги у запитах, пов’язаних з датою), але я просто знаходжу методи панд набагато простішими у використанні.

Крім того, як говорили інші, решта мого моделювання знаходиться в Python, і я часто маю веб-дзвінки або файли CSV.


2

Я спробую відповісти на це питання на основі власного досвіду. На відміну від інших відповідей, я віддаю перевагу Sqlглибокому навчанню та речей, пов’язаних із великими даними. Для цього є численні причини. Як видно тут ,

Pandas забезпечує інтуїтивний, потужний та швидкий досвід аналізу даних на табличних даних. Однак, оскільки Pandas використовує лише один потік виконання і вимагає, щоб усі дані були одночасно в пам'яті, він не забезпечує масштабування наборів даних, що значно перевищує масштаб гігабайт.

B+

Інша відмінність полягає в тому, що операції CRUD у Sql можна застосовувати розподіленими за допомогою різних політик авторизації, які неможливі в пандах.

Це не означає сказати, що краще, все залежить від вашого завдання. Для широкомасштабних обчислень я віддаю перевагу Sql, а для малих я віддаю перевагу пандам.

Є й інші речі, які не знаходяться в пандах, які дуже важливі для швидкого досвіду вилучення даних, про який я розповім пізніше. Поки що, просто подивіться тут .


1

Панда користується більшою популярністю, оскільки пітон у формі зошитів з юпітером - найпопулярніший набір інструментів, який використовується вченим із даних в області нейронної мережі. Python стає "мовою". Можна навіть використовувати сервер SQL, але ви не пов'язані з SQL лише за допомогою панди.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.