У чым розніца паміж кадрам дадзеных і масівам NumPy ў Python?


адказ 1:

Кадра дадзеных

  • 2-мерны неаднародны масіў. Падобна на табліцу або табліцу SQL.

NumPy's

  • Аб'екты маюць аднародны (падобны) шматмерны масіў. Гэта табліца элементаў (звычайна лікаў) аднаго тыпу, індэксаваная наборам натуральных лікаў. У NumPy памеры называюцца восямі.

Выконвайце за мной Хасэ Правенам, каб даведацца больш пра Raspberry Pi, Hadoop, Android, Java, Windows і Linux.


адказ 2:

Кадра дадзеных ::

Паняцце кадра дадзеных паходзіць са свету статыстычнага праграмнага забеспячэння, якое выкарыстоўваецца ў эмпірычных даследаваннях. звычайна яна ставіцца да "таблічных" дадзеных: структура дадзеных, якая прадстаўляе выпадкі (радкі), кожны з якіх складаецца з шэрагу назіранняў або вымярэнняў (слупкоў). Акрамя таго, кожны радок можа разглядацца як адзінае назіранне за некалькімі "пераменнымі". У любым выпадку, кожны радок і слупок мае адзін і той жа тып дадзеных, але тып дадзеных радка ("запіс") можа быць неаднародным (набор розных тыпаў), у той час як тып дадзеных калонкі павінен быць аднародным. Кадры дадзеных у дадатак да дадзеных звычайна ўтрымліваюць некаторыя метададзеныя. Напрыклад, назвы слупкоў і радкоў.

API кадраў дадзеных звычайна падтрымліваюць больш-менш складаныя метады скарачэння і дзялення дадзеных, напрыклад. B. Радкі, слупкі і вочкі "Выберыце" па імені ці ліку. Адфільтраваць лініі; Імёны слупкоў і радкоў «Перазабраць»; Нармалізаваць дадзеныя (напрыклад, пераўтварыць адзінкі вымярэння); Даданне новых слупкоў (напрыклад, падвядзенне вынікаў некаторых палёў); і многае іншае!

Статыстычныя дадзеныя часта - звычайна нават - блытаюць. Каб быць карысным, API кадраў дадзеных павінен забяспечваць ўваходныя сродкі апрацоўкі дадзеных, якія парушаюць (звычайна няяўныя) абмежаванні цэласнасці тыпаў радкоў і слупкоў. Відавочныя прыклады - памылкі ўводу ("Maale" замест "Male") і парушэнні ў вобласці (напрыклад, 17

numpy масіў ::

Вы павінны ведаць, што масіў на структурным узроўні - гэта не што іншае, як паказальнік. Гэта спалучэнне адраса памяці, тыпу дадзеных, формы і дзеянняў:

  • Указальнік дадзеных паказвае адрас памяці першага байта ў масіве. Тып дадзеных або паказальнік тыпу D апісвае тып элементаў, якія змяшчаюцца ў масіве. Форма вызначае форму масіва. Этапы паказваюць колькасць байтаў, якія трэба прапусціць у памяці, каб перайсці да наступнага элемента. Калі вашы дзеянні (10,1), вам трэба будзе працягнуць адзін байт, каб перайсці да наступнага слупка, і 10 байт, каб перайсці да наступнага радка. Вы атрымліваеце значна больш інфармацыі: тып дадзеных, які раздрукоўваецца, напрыклад, "int64" або 32-бітны цэлы лік; Гэта значна больш падрабязна! Гэта таксама азначае, што масіў захоўваецца як 64 байта ў памяці (паколькі кожнае цэлае лік займае 8 байт, і ў вас масіў з 8 цэлымі лічбамі). Этапы масіва паказваюць, што вам трэба прапусціць 8 байт (адно значэнне), каб перайсці да наступнага слупка, але 32 байта (4 значэння), каб дабрацца да таго ж становішча ў наступным радку. Такім чынам, крокі для масіва будуць (32.8).

Звярніце ўвагу, што калі вы ўсталюеце тып дадзеных у int32, то вернуты крок з крокам будзе (16, 4), таму што вам усё роўна трэба перанесці адно значэнне ў наступны слупок і 4 значэнні, каб атрымаць аднолькавае становішча. Адзінае, што змянілася, гэта тое, што кожнае цэлае лік займае 4 байта, а не 8 байт.

Масіў, які вы бачыце вышэй, як вынікае з назвы, - гэта двухмерны масіў: у вас ёсць радкі і слупкі. Радкі адлюстраваны як "восі 0", а слупкі - "восі 1". Колькасць восі павялічваецца ў залежнасці ад колькасці вымярэнняў: У масівах 3D, з якіх вы таксама бачылі прыклад у папярэднім раздзеле кода, у вас ёсць дадатковая "вось 2". Звярніце ўвагу, што гэтыя восі справядлівыя толькі для масіваў, якія маюць прынамсі два вымярэння, бо для 1-D масіваў гэта не мае сэнсу.


адказ 3:

Масіўны нумар (ndarray) - гэта шматмерны тып масіва, які змяшчае элементы аднаго тыпу і памеру.

DataFrames Panda пашырае двухмерныя масівы NumPy, даючы пазнакі слупкам, а таксама радкам, калі ўказваецца відавочны індэкс. Як і серыя, DataFrame прымае мноства відаў уводу:

Дыктоўка з 1D ndarrays, спісаў, дыктантаў ці серый

2-D здранцвелы ндаррай

Структураваны альбо запіс ndarray

Яшчэ адна DataFrame

Гэтая маленькая прэзентацыя павінна дапамагчы: