С Pandas поставете вашите масиви от данни на диета от Cedric Soares France School of AI Medium
Много големи набори от данни са кошмар за учените по данни. За щастие, библиотеките на Pandas ви позволяват да ги манипулирате, като оптимизирате теглото им драстично и за нула време.
Всеки Data Scientist е изправен пред колосални набори от данни. Те често се състоят от няколко милиона записа. Тези Pandas DataFrames консумират много памет и изчислително време. Следователно е изключително важно да ги оптимизирате, за да ги визуализирате, манипулирате и използвате в модели за машинно обучение. Ето как да го поправите при минимум манипулации.

Нашата демонстрация се основава на част от набора от данни за автомобилни проверки, извършени от американската полиция между 2000 и 2018 г. Данните, събрани от Университета в Страндфорд, идентифицират около 50 000 сесии за проверка на трафика, класифицирани по държави. Използваният самостоятелно набор от данни в щата Ню Йорк представлява близо 8 милиона записа.
Откриване на набора от данни
Нашият csv файл тежи 1 GB. По-лошо, когато четете с Pandas, DataFrame консумира 6.5 GB ресурс памет. Забележете в тази връзка, че предварителното разпознаване на задълбочената оценка на заемането на паметта с функцията pandas.DataFrame.info () изисква прехвърлянето на параметъра "deep"
При по-внимателно разглеждане нашият DataFrame съдържа 18 колони. По-голямата част са съставени от низове, считани от Pandas за обекти.
Оптимизирането на този тип данни ще доведе до значително спестяване на ресурси в паметта.
Значителна печалба чрез категоризиране на обекти
Един ефективен начин да направите това е да присвоите индекс на всеки силно излишен обект. В бъдещи операции Pandas ще използва последното, което струва по-малко в космоса. Методът е жизнеспособен само ако броят на уникалните обекти представлява повече от 50% от общия брой обекти. Какъв е случаят с данните, събрани от Станфорд.
Например колоната "subject_sex" има само стойности "женски" и "мъжки".
По време на процеса на оптимизация всяка колона се тества в цикъл, за да се провери прагът на уникалните стойности, които могат или не могат да предизвикат индексиране.
По-долу е даден метод за тестване на печалбите след всяка оптимизация.
Нека го използваме за първи път върху категоризирани обекти.
Наблюдаваме, че консумацията на памет е намаляла с 61%.