Здесь приведен краткий обзор каждого метода и того, что он делает: ","read_csv()",": Загружает данные из CSV-файла в Pandas DataFrame.","head()",": Отображает несколько первых строк фрейма данных.","информация()",": Предоставляет краткую информацию о фрейме данных, включая типы столбцов и отсутствующие значения.","описать()",": Генерирует описательную статистику для числовых столбцов.","isnull()",": Определяет отсутствующие данные в DataFrame.","дропна()",": Удаляет строки или столбцы с отсутствующими данными.","fillna()",": Заменяет отсутствующие данные указанными значениями.","groupby()",": Группирует данные на основе одного или нескольких столбцов и применяет агрегатные функции.","sort_values()",": Сортирует DataFrame по одному или нескольким столбцам.","применить()",": Применяет пользовательские функции к строкам или столбцам DataFrame.","Пререквизиты"," Сначала убедитесь, что на вашей машине установлен Python. Если он не установлен, вы можете загрузить его по этой ссылке.
После установки Python убедитесь, что библиотека Pandas установлена. Если она не установлена, вы можете легко добавить ее с помощью следующей команды: ","pip install pandas"," Для примера мы будем использовать следующий набор фиктивных данных по недвижимости: ","PropertyID","Расположение","Спальни","Ванные комнаты","Цена","SquareFootage","ListingDate","101","Нью-Йорк","3","2","750000","1800","2023-05-15","102","Сан-Франциско","1","850000","1400","2023-06-01","103","Лос-Анджелес","4","2500","2023-04-10","104","Чикаго","650000","1700","105","Майами","5","1200000","3500","2023-03-22","106","Хьюстон","450000","2000","2023-07-01","10 лучших функций и методов Pandas","1. read_csv(): Загружает данные из CSV-файла в Pandas DataFrame."," Первым шагом в использовании pandas является загрузка данных для подготовки их к обработке или анализу. Одним из наиболее распространенных методов импорта данных в pandas DataFrame является функция read_csv(). ","Пример кода:","import pandas as pd\n# Загрузите набор данных в Pandas DataFrame\nfile_path = \"real_estate_listings.csv\" # Замените фактический путь к файлу\n\n# Создать фрейм данных\ndf = pd.read_csv(file_path)","как пдд","pandas.read_csv()","pd.read_csv()"," Для начала мы импортируем библиотеку pandas. Использование "," является распространенным среди разработчиков способом упрощения кода. Например, вместо того чтобы писать ","мы можем просто использовать ","что делает код более лаконичным и удобным для чтения. ","read_csv"," Затем укажите путь к CSV-файлу, который вы хотите загрузить в Pandas DataFrame. Затем создайте переменную и используйте функцию "," метод для загрузки файла в DataFrame. ","Ключевые параметры:"," Теперь давайте рассмотрим некоторые важные параметры этого метода: ","разделитель:"," Укажите разделитель, используемый в CSV-файле (например, ,, ;, \\t).","df = pd.read_csv(file_path, delimiter=',')","индексный_кол",": В нашей таблице каждое объявление о продаже недвижимости идентифицируется по идентификатору, найденному в разделе \"","\" столбец. Чтобы убедиться, что pandas использует этот столбец в качестве уникального идентификатора для каждого свойства, мы можем явно задать его в качестве столбца ID. В противном случае pandas будет автоматически генерировать и присваивать собственные значения ID каждому листингу.","df = pd.read_csv(file_path, index_col='PropertyID')","usecols",": Если ваш CSV-файл содержит множество столбцов, но вам нужны только некоторые из них, pandas позволяет легко добиться этого с помощью специального параметра.","df = pd.read_csv(file_path, usecols=['Location', 'Price', 'Bedrooms'])","2. head() и tail(): Проверка данных","хвост()"," Теперь, когда данные загружены в DataFrame, мы можем приступить к их изучению. Для этого Pandas предоставляет два очень удобных метода: "," и ",". Эти методы незаменимы для быстрой проверки первых или последних строк вашего набора данных. ","head(): Этот метод по умолчанию показывает первые 5 строк набора данных. Он особенно полезен для проверки правильности загрузки данных и проверки их структуры.","tail(): Этот метод работает аналогично head(), но вместо него отображает последние несколько строк. Он полезен для изучения конца набора данных, особенно при проверке полноты данных или наличия пропущенных значений в предыдущих записях.","# Просмотр первых 5 строк\nprint(df.head())\n# Просмотр последних 3 строк\nprint(df.tail(3))\n"," Выход ",": ","3. info() - Понять структуру фрейма данных"," Функция info() предоставляет краткую информацию о DataFrame. Она включает такие сведения, как: ","Количество строк и столбцов.","Имена столбцов и их типы данных.","Количество ненулевых значений в каждом столбце."," Этот метод полезен для быстрого понимания структуры набора данных и выявления таких проблем, как пропущенные значения или неправильные типы данных. ","# Получите краткую информацию о фрейме данных\nprint(df.info())"," Приведенный выше код выдает следующий результат: ","<class 'pandas.core.frame.DataFrame'>\nRangeIndex: 6 entries, 0 to 5\nData columns (total 7 columns):\n# Column Non-Null Count Dtype \n--- ------ -------------- ----- \n0 PropertyID 6 non-null int64 \n1 Location 6 non-null object\n2 Bedrooms 6 non-null int64 \n3 Bathrooms 6 non-null int64 \n4 Price 5 non-null float64\n5 SquareFootage 6 non-null int64 \n6 ListingDate 5 non-null object\ndtypes: float64(1), int64(4), object(2)\nmemory usage: 464.0+ bytes\n","4. describe(): Генерация итоговой статистики"," Сайт "," Метод позволяет получить краткую информацию о ключевых статистических показателях, таких как ","среднее",", ","стандартное отклонение","перцентили","и многое другое. По умолчанию, "," Работает с числовыми данными, но может обрабатывать и категориальные данные, предлагая индивидуальные выводы в зависимости от типа данных. ",": Список чисел от 0 до 1, указывающий, какие процентили возвращать. По умолчанию используется значение None, которое возвращает 25-й, 50-й и 75-й процентили. Читать далее ","здесь",".","включить",": Список типов данных для включения в сводку. Вы можете указать такие типы данных, как int, float, object (для строк) и т. д. По умолчанию используется None, то есть все числовые типы будут включены.","исключить","Нет",": Список типов данных, которые необходимо исключить из сводки. Этот параметр также "," по умолчанию, что означает, что никакие типы не исключаются.","печать(df.describe())"," Код выводится следующим образом: "," PropertyID Расположение Спальни ... Цена ПлощадьФутаж ЛистингДата\ncount 6.000000 6 6.000000... 5.000000e+00 6.000000 5\nуникальный NaN 6 NaN ... NaN NaN 5\ntop NaN Нью-Йорк NaN ... NaN NaN 2023-05-15\nfreq NaN 1 NaN ... NaN NaN 1\nmean 103.500000 NaN 3.500000... 7.800000e+05 2150.000000 NaN\nstd 1.870829 NaN 1.048809... 2.774887e+05 755.645419 NaN\nmin 101.000000 NaN 2.000000... 4.500000e+05 1400.000000 NaN\n25% 102.250000 NaN 3.000000... 6.500000e+05 1725.000000 NaN\n50% 103.500000 NaN 3.500000... 7.500000e+05 1900.000000 NaN\n75% 104.750000 NaN 4.000000... 8.500000e+05 2375.000000 NaN\nmax 106.000000 NaN 5.000000... 1.200000e+06 3500.000000 NaN\n","Объяснение каждой статистики","count = 6","Пример: "," для ","указывает на то, что все строки содержат достоверные данные.","Граф",": Количество не пропущенных записей для каждого столбца.","среднее = 3,5",", что указывает на среднее значение ","3,5 спальни"," за объект.","Среднее",": Среднее значение столбца.","std = 1.048809","Это означает, что количество спален варьируется в умеренных пределах.","Std",": Стандартное отклонение, показывающее разброс значений от среднего.","мин = 2","макс = 5","Мин/Макс",": Наименьшее и наибольшее значения.","25%",": Значение, ниже которого находится 25% данных (первый квартиль).","50%",": Медианное значение.","75%",": Значение, ниже которого находится 75% данных (третий квартиль).","25%, 50%, 75% (квартили)",": Представляют собой разброс данных:","5. isnull(): Выявление отсутствующих данных","Правда","NaN","Ложь","sum()"," Функция помогает определить отсутствующие данные в DataFrame. Она возвращает DataFrame той же формы, что и оригинал, с "," где данные отсутствуют "," и "," иначе. Обычно используется вместе с другими функциями, такими как "," для подсчета отсутствующих значений в столбцах или строках. ","# Определите отсутствующие значения\nprint(df.isnull())\n# Подсчитайте отсутствующие значения для каждого столбца\nprint(df.isnull().sum())\n","df.isnull()"," Выход: "," PropertyID Расположение Спальни Ванные комнаты Цена ПлощадьФутаж ListingDate\n0 Ложь Ложь Ложь Ложь Ложь Ложь Ложь\n1 Ложь Ложь Ложь Ложь Ложь Ложь Ложь\n2 Ложь Ложь Ложь Ложь Правда Ложь Ложь\n3 Ложь Ложь Ложь Ложь Ложь Ложь Правда\n4 Ложь Ложь Ложь Ложь Ложь Ложь Ложь\n5 Ложь Ложный Ложь Ложь Ложь Ложь Ложь\n","df.isnull().sum()","PropertyID 0\nРасположение 0\nСпальни 0\nВанные комнаты 0\nЦена 1\nПлощадь 0\nListingDate 1\ndtype: int64\n","6. dropna(): Удаление пропущенных данных"," функция удаляет ","строки"," или ","колонки"," с отсутствующими данными "," из кадра данных. По умолчанию он удаляет строки с любыми отсутствующими значениями. Вы можете настроить его поведение так, чтобы он удалял только столбцы или удалял строки/столбцы, в которых отсутствуют все или определенное подмножество значений ","# Отбросьте строки с отсутствующими значениями\ndf_dropped_rows = df.dropna()\nprint(df_dropped_rows)\n\n# Отбросьте столбцы с пропущенными значениями\ndf_dropped_columns = df.dropna(axis=1)\nprint(df_dropped_columns)\n"," Вот как выглядит DataFrame после удаления всех "," содержащий "," ценности: "," Вот кадр данных с "," значения удалены. ","7. fillna(): Замена пропущенных данных"," функция заменяет отсутствующие данные "," с указанными значениями. Пандас "," метод эффективно обрабатывает и удаляет нулевые значения из DataFrame, в то время как метод "," Метод предлагает гибкое решение для замены "," значения с заданным значением по вашему выбору. Этот метод предлагает гибкий подход к управлению отсутствующими данными, позволяя заполнить пробелы с помощью фиксированного значения, а именно ","медиана","режим","или другие расчетные статистические данные. ","# Заполните недостающие значения в столбце 'Цена' средней ценой df['Цена'] = \ndf['Price'].fillna(df['Price'].mean()) \nprint(df)"," Вывод кода демонстрирует, что "," значение было успешно заменено на среднюю цену. ","780000"," столбец также содержит "," значение. Вместо того чтобы выполнять вычисления, мы можем просто использовать заполнитель, например \"","неизвестно",". Вот как это сделать; ","# Заполните отсутствующие значения в столбце 'ListingDate' заполнителем\ndf['ListingDate'] = df['ListingDate'].fillna('Unknown')\nprint(df)\n"," Теперь кадр данных выглядит следующим образом: ","Неизвестный","8. groupby(): Группировка и агрегирование данных"," Функция groupby() в Pandas - это универсальный и мощный инструмент для разделения DataFrame на группы по одному или нескольким столбцам, позволяющий эффективно анализировать и агрегировать данные.
Она работает по принципу \"разделить - применить - объединить \":
сначала данные разбиваются на группы;
затем к каждой группе применяется определенная функция;
наконец, результаты объединяются в новый DataFrame.
Такой оптимизированный подход упрощает сложные задачи манипулирования данными и повышает эффективность анализа. "," Например, вы можете рассчитать среднюю цену недвижимости по местоположению или подсчитать количество объявлений по категориям спален. ","# Сгруппируйте данные по \"местоположению\" и рассчитайте среднюю цену\navg_price_by_location = df.groupby('Location')['Price'].mean()\nprint(avg_price_by_location)\n# Группировка по \"Спальням\" и расчет общей площади\ntotal_sqft_by_bedrooms = df.groupby('Bedrooms')['SquareFootage'].sum()\nprint(total_sqft_by_bedrooms)\n# Группировка по нескольким столбцам и подсчет\ncount_by_location_bedrooms = df.groupby(['Location', 'Bedrooms']).size()\nprint(count_by_location_bedrooms)\n","Средняя цена по местоположению:","Местонахождение\nЧикаго 650000.0\nХьюстон 450000.0\nЛос-Анджелес НаН\nМайами 1200000.0\nНью-Йорк 750000.0\nСан-Франциско 850000.0\nИмя: Price, dtype: float64\n","Общая площадь по спальням:","Спальни\n2 1400\n3 3500\n4 4500\n5 3500\n","Подсчет по расположению и спальням:","Расположение Спальни\nЧикаго 3 1\nХьюстон 4 1\nЛос-Анджелес 4 1\nМайами 5 1\nНью-Йорк 3 1\nСан-Франциско 2 1\ndtype: int64\n","9. sort_values(): Сортировка данных"," Функция sort_values() используется для сортировки DataFrame по одному или нескольким столбцам в порядке возрастания или убывания. Сортировка необходима для ранжирования данных, выявления экстремальных значений (например, объектов недвижимости с самой высокой ценой) или просто для упорядочивания набора данных для лучшей читабельности. Вы можете сортировать по числовым, категориальным или временным столбцам. ","# Сортировка по 'цене' в порядке убывания\ndf_sorted_by_price = df.sort_values(by='Price', ascending=False)\nprint(df_sorted_by_price)\n# Сортировка по 'Location' в порядке возрастания\ndf_sorted_by_location = df.sort_values(by='Location')\nprint(df_sorted_by_location)\n# Сортировка по нескольким столбцам: сначала по 'Bedrooms' (по возрастанию), а затем по 'Price' (по убыванию)\ndf_sorted_by_bedrooms_price = df.sort_values(by=['Bedrooms', 'Price'], ascending=[True, False])\nprint(df_sorted_by_bedrooms_price)\n","Сортировать по цене (по убыванию):"," PropertyID Расположение Спальни ... Цена ПлощадьФутаж ЛистингДата\n4 105 Майами 5... 1200000.0 3500 2023-03-22\n1 102 Сан-Франциско 2... 850000.0 1400 2023-06-01\n0 101 Нью-Йорк 3... 750000.0 1800 2023-05-15\n3 104 Чикаго 3... 650000.0 1700 NaN\n5 106 Хьюстон 4... 450000.0 2000 2023-07-01\n2 103 Лос-Анджелес 4... NaN 2500 2023-04-10","Сортировать по местоположению (по возрастанию):","[6 строк x 7 столбцов]\n PropertyID Расположение Спальни ... Цена ПлощадьФутаж ЛистингДата\n3 104 Chicago 3 . .. 650000.0 1700 NaN\n5 106 Хьюстон 4 . .. 450000.0 2000 2023-07-01\n2 103 Лос-Анджелес 4 . .. NaN 2500 2023-04-10\n4 105 Майами 5 . .. 1200000.0 3500 2023-03-22\n0 101 Нью-Йорк 3 . .. 750000.0 1800 2023-05-15\n1 102 Сан-Франциско 2 . .. 850000.0 1400 2023-06-01\n","Сортировка по спальням (по возрастанию) и цене (по убыванию):"," PropertyID Расположение Спальни ... Цена ПлощадьФутаж ЛистингДата\n1 102 San Francisco 2... 850000.0 1400 2023-06-01\n0 101 Нью-Йорк 3... 750000.0 1800 2023-05-15\n3 104 Чикаго 3... 650000.0 1700 NaN\n5 106 Хьюстон 4... 450000.0 2000 2023-07-01\n2 103 Лос-Анджелес 4... NaN 2500 2023-04-10\n4 105 Майами 5... 1200000.0 3500 2023-03-22\n","10. apply(): Применение пользовательских функций к данным"," Функция apply() позволяет применять пользовательские функции к строкам или столбцам DataFrame. Это мощный метод для выполнения преобразований по элементам, вычислений или условных операций, выходящих за рамки встроенных функций Pandas. "," Приведем пример, в котором мы хотим создать новый столбец для расчета цены за квадратный фут. ","# Определите пользовательскую функцию для расчета цены за квадратный фут\ndef price_per_sqft(price, sqft):\n return price / sqft if sqft != 0 else 0\n\n# Примените пользовательскую функцию для создания нового столбца\ndf['PricePerSqFt'] = df.apply(lambda row: price_per_sqft(row['Price'], row['SquareFootage']), axis=1)\nprint(df)\n","Вот вывод приведенного выше кода:"," PropertyID Расположение Спальни ... ПлощадьФутаж ЛистингДата ЦенаПерСквФт\n0 101 New York 3... 1800 2023-05-15 416.666667\n1 102 Сан-Франциско 2... 1400 2023-06-01 607.142857\n2 103 Лос-Анджелес 4... 2500 2023-04-10 NaN\n3 104 Чикаго 3... 1700 NaN 382.352941\n4 105 Майами 5... 3500 2023-03-22 342.857143\n5 106 Хьюстон 4... 2000 2023-07-01 225.000000\n"," Другим примером может быть преобразование названий локаций в верхний регистр; ","# Примените преобразование для перевода всех имен местоположений в верхний регистр\ndf['Location'] = df['Location'].apply(lambda x: x.upper())\nprint(df)\n","Вот как это выглядит:"," PropertyID Расположение Спальни ... Цена ПлощадьФутаж ЛистингДата\n0 101 NEW YORK 3... 750000.0 1800 2023-05-15\n1 102 САН-ФРАНЦИСКО 2... 850000.0 1400 2023-06-01\n2 103 ЛОС-АНДЖЕЛЕС 4... NaN 2500 2023-04-10\n3 104 ЧИКАГО 3... 650000.0 1700 NaN\n4 105 МАЙАМИ 5... 1200000.0 3500 2023-03-22\n5 106 ХЬЮСТОН 4... 450000.0 2000 2023-07-01","Заключение"," В этом руководстве мы рассмотрели 10 важнейших функций Pandas для анализа данных, от загрузки и проверки данных с помощью "," очистке и преобразованию с помощью таких методов, как ",", и ",". Эти функции составляют основу любого рабочего процесса анализа данных, позволяя эффективно очищать, манипулировать и обобщать наборы данных. Овладев ими, вы сможете уверенно решать реальные задачи с данными. Начните практиковаться уже сегодня и узнайте, как эти инструменты могут упростить ваши задачи анализа! ","По: ProxyScrape","Введите для поиска здесь...","Последние сообщения","Web Scraping with Puppeteer and Proxies: A Beginner’s Guide","How to Save Scraped Data in Google Sheets","How to Handle Pagination in Web Scraping using Python","Exporting Web Scraped Data to CSV, JSON, and Databases ","Введение в веб-парсинг на Python с помощью Parsel","свет proxyscrape логотип","https://proxyscrape.com/static/light_text_logo.svg","Ищете помощь с нашими прокси или
хотите помочь? Вот ваши варианты:","Crunchbase","О нас","Спасибо всем за потрясающую поддержку!","Быстрые ссылки","Партнерская программа","Премиум","ProxyScrape премиум-проба","Проверка прокси-сервера онлайн","Типы прокси","Страны-посредники","Примеры использования прокси-сервера","Важно","Политика использования файлов cookie","Отказ от ответственности","Политика конфиденциальности","Условия и положения","Социальные сети","Facebook","LinkedIn","Twitter","Quora","Telegram","Дискорд","\n © Copyright 2025 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgium | VAT BE 0749 716 760\n"]}
Pandas - это универсальная библиотека для аналитиков данных и программистов на Python, которые осваивают мир манипулирования и анализа данных. Интуитивно понятный синтаксис и мощные структуры данных делают работу с огромными массивами данных не только удобной, но и эффективной. Импортируете ли вы CSV-файлы, очищаете грязные наборы данных или анализируете тенденции в данных - в Pandas есть все необходимые инструменты.
Если вы только начинаете изучать Pandas, этот пост познакомит вас с 10 важнейшими функциями и методами, которые должен освоить каждый новичок. Эти функции помогут вам с легкостью загружать, проверять, очищать и анализировать данные.
Здесь приведен краткий обзор каждого метода и того, что он делает:
read_csv()
: Загружает данные из CSV-файла в Pandas DataFrame.head()
: Отображает несколько первых строк фрейма данных.информация()
: Предоставляет краткую информацию о фрейме данных, включая типы столбцов и отсутствующие значения.описать()
: Генерирует описательную статистику для числовых столбцов.isnull()
: Определяет отсутствующие данные в DataFrame.дропна()
: Удаляет строки или столбцы с отсутствующими данными.fillna()
: Заменяет отсутствующие данные указанными значениями.groupby()
: Группирует данные на основе одного или нескольких столбцов и применяет агрегатные функции.sort_values()
: Сортирует DataFrame по одному или нескольким столбцам.применить()
: Применяет пользовательские функции к строкам или столбцам DataFrame. Сначала убедитесь, что на вашей машине установлен Python. Если он не установлен, вы можете загрузить его по этой ссылке.
После установки Python убедитесь, что библиотека Pandas установлена. Если она не установлена, вы можете легко добавить ее с помощью следующей команды:
pip install pandas
Для примера мы будем использовать следующий набор фиктивных данных по недвижимости:
PropertyID | Расположение | Спальни | Ванные комнаты | Цена | SquareFootage | ListingDate |
101 | Нью-Йорк | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | Сан-Франциско | 2 | 1 | 850000 | 1400 | 2023-06-01 |
103 | Лос-Анджелес | 4 | 3 | 2500 | 2023-04-10 | |
104 | Чикаго | 3 | 2 | 650000 | 1700 | |
105 | Майами | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | Хьюстон | 4 | 3 | 450000 | 2000 | 2023-07-01 |
Первым шагом в использовании pandas является загрузка данных для подготовки их к обработке или анализу. Одним из наиболее распространенных методов импорта данных в pandas DataFrame является функция read_csv().
import pandas as pd
# Загрузите набор данных в Pandas DataFrame
file_path = "real_estate_listings.csv" # Замените фактический путь к файлу
# Создать фрейм данных
df = pd.read_csv(file_path)
Для начала мы импортируем библиотеку pandas. Использование как пдд
является распространенным среди разработчиков способом упрощения кода. Например, вместо того чтобы писать pandas.read_csv()
мы можем просто использовать pd.read_csv()
что делает код более лаконичным и удобным для чтения.
Затем укажите путь к CSV-файлу, который вы хотите загрузить в Pandas DataFrame. Затем создайте переменную и используйте функцию read_csv
метод для загрузки файла в DataFrame.
Теперь давайте рассмотрим некоторые важные параметры этого метода:
разделитель:
Укажите разделитель, используемый в CSV-файле (например, ,, ;, \t).df = pd.read_csv(file_path, delimiter=',')
индексный_кол
: В нашей таблице каждое объявление о продаже недвижимости идентифицируется по идентификатору, найденному в разделе "PropertyID" столбец. Чтобы убедиться, что pandas использует этот столбец в качестве уникального идентификатора для каждого свойства, мы можем явно задать его в качестве столбца ID. В противном случае pandas будет автоматически генерировать и присваивать собственные значения ID каждому листингу.df = pd.read_csv(file_path, index_col='PropertyID')
usecols
: Если ваш CSV-файл содержит множество столбцов, но вам нужны только некоторые из них, pandas позволяет легко добиться этого с помощью специального параметра.df = pd.read_csv(file_path, usecols=['Location', 'Price', 'Bedrooms'])
Теперь, когда данные загружены в DataFrame, мы можем приступить к их изучению. Для этого Pandas предоставляет два очень удобных метода: head()
и хвост()
. Эти методы незаменимы для быстрой проверки первых или последних строк вашего набора данных.
# Просмотр первых 5 строк
print(df.head())
# Просмотр последних 3 строк
print(df.tail(3))
Выход head()
:
PropertyID | Расположение | Спальни | Ванные комнаты | Цена | SquareFootage | ListingDate |
101 | Нью-Йорк | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | Сан-Франциско | 2 | 1 | 850000 | 1400 | 2023-06-01 |
103 | Лос-Анджелес | 4 | 3 | 2500 | 2023-04-10 | |
104 | Чикаго | 3 | 2 | 650000 | 1700 | |
105 | Майами | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
Выход хвост()
:
PropertyID | Расположение | Спальни | Ванные комнаты | Цена | SquareFootage | ListingDate |
104 | Чикаго | 3 | 2 | 650000 | 1700 | |
105 | Майами | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | Хьюстон | 4 | 3 | 450000 | 2000 | 2023-07-01 |
Функция info() предоставляет краткую информацию о DataFrame. Она включает такие сведения, как:
Этот метод полезен для быстрого понимания структуры набора данных и выявления таких проблем, как пропущенные значения или неправильные типы данных.
# Получите краткую информацию о фрейме данных
print(df.info())
Приведенный выше код выдает следующий результат:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 6 entries, 0 to 5
Data columns (total 7 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 PropertyID 6 non-null int64
1 Location 6 non-null object
2 Bedrooms 6 non-null int64
3 Bathrooms 6 non-null int64
4 Price 5 non-null float64
5 SquareFootage 6 non-null int64
6 ListingDate 5 non-null object
dtypes: float64(1), int64(4), object(2)
memory usage: 464.0+ bytes
Сайт описать() Метод позволяет получить краткую информацию о ключевых статистических показателях, таких как среднее, стандартное отклонение, перцентилии многое другое. По умолчанию, описать()
Работает с числовыми данными, но может обрабатывать и категориальные данные, предлагая индивидуальные выводы в зависимости от типа данных.
перцентили
: Список чисел от 0 до 1, указывающий, какие процентили возвращать. По умолчанию используется значение None, которое возвращает 25-й, 50-й и 75-й процентили. Читать далее здесь.включить
: Список типов данных для включения в сводку. Вы можете указать такие типы данных, как int, float, object (для строк) и т. д. По умолчанию используется None, то есть все числовые типы будут включены.исключить
: Список типов данных, которые необходимо исключить из сводки. Этот параметр также Нет
по умолчанию, что означает, что никакие типы не исключаются.печать(df.describe())
Код выводится следующим образом:
PropertyID Расположение Спальни ... Цена ПлощадьФутаж ЛистингДата
count 6.000000 6 6.000000... 5.000000e+00 6.000000 5
уникальный NaN 6 NaN ... NaN NaN 5
top NaN Нью-Йорк NaN ... NaN NaN 2023-05-15
freq NaN 1 NaN ... NaN NaN 1
mean 103.500000 NaN 3.500000... 7.800000e+05 2150.000000 NaN
std 1.870829 NaN 1.048809... 2.774887e+05 755.645419 NaN
min 101.000000 NaN 2.000000... 4.500000e+05 1400.000000 NaN
25% 102.250000 NaN 3.000000... 6.500000e+05 1725.000000 NaN
50% 103.500000 NaN 3.500000... 7.500000e+05 1900.000000 NaN
75% 104.750000 NaN 4.000000... 8.500000e+05 2375.000000 NaN
max 106.000000 NaN 5.000000... 1.200000e+06 3500.000000 NaN
count = 6
для Спальниуказывает на то, что все строки содержат достоверные данные.среднее = 3,5
для Спальни, что указывает на среднее значение 3,5 спальни за объект.std = 1.048809
для СпальниЭто означает, что количество спален варьируется в умеренных пределах.мин = 2
и макс = 5
для Спальни.25%
: Значение, ниже которого находится 25% данных (первый квартиль).50%
: Медианное значение.75%
: Значение, ниже которого находится 75% данных (третий квартиль). Сайт isnull() Функция помогает определить отсутствующие данные в DataFrame. Она возвращает DataFrame той же формы, что и оригинал, с Правда
где данные отсутствуют NaN
и Ложь
иначе. Обычно используется вместе с другими функциями, такими как sum()
для подсчета отсутствующих значений в столбцах или строках.
# Определите отсутствующие значения
print(df.isnull())
# Подсчитайте отсутствующие значения для каждого столбца
print(df.isnull().sum())
df.isnull()
Выход:
PropertyID Расположение Спальни Ванные комнаты Цена ПлощадьФутаж ListingDate
0 Ложь Ложь Ложь Ложь Ложь Ложь Ложь
1 Ложь Ложь Ложь Ложь Ложь Ложь Ложь
2 Ложь Ложь Ложь Ложь Правда Ложь Ложь
3 Ложь Ложь Ложь Ложь Ложь Ложь Правда
4 Ложь Ложь Ложь Ложь Ложь Ложь Ложь
5 Ложь Ложный Ложь Ложь Ложь Ложь Ложь
df.isnull().sum()
Выход:
PropertyID 0
Расположение 0
Спальни 0
Ванные комнаты 0
Цена 1
Площадь 0
ListingDate 1
dtype: int64
Сайт дропна() функция удаляет строки или колонки с отсутствующими данными NaN
из кадра данных. По умолчанию он удаляет строки с любыми отсутствующими значениями. Вы можете настроить его поведение так, чтобы он удалял только столбцы или удалял строки/столбцы, в которых отсутствуют все или определенное подмножество значений
# Отбросьте строки с отсутствующими значениями
df_dropped_rows = df.dropna()
print(df_dropped_rows)
# Отбросьте столбцы с пропущенными значениями
df_dropped_columns = df.dropna(axis=1)
print(df_dropped_columns)
Вот как выглядит DataFrame после удаления всех строки содержащий NaN
ценности:
PropertyID | Расположение | Спальни | Ванные комнаты | Цена | SquareFootage | ListingDate |
101 | Нью-Йорк | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | Сан-Франциско | 2 | 1 | 850000 | 1400 | 2023-06-01 |
105 | Майами | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | Хьюстон | 4 | 3 | 450000 | 2000 | 2023-07-01 |
Вот кадр данных с колонки содержащий NaN
значения удалены.
PropertyID | Расположение | Спальни | Ванные комнаты | SquareFootage |
101 | Нью-Йорк | 3 | 2 | 1800 |
102 | Сан-Франциско | 2 | 1 | 1400 |
103 | Лос-Анджелес | 4 | 3 | 2500 |
104 | Чикаго | 3 | 2 | 1700 |
105 | Майами | 5 | 4 | 3500 |
106 | Хьюстон | 4 | 3 | 2000 |
Сайт fillna() функция заменяет отсутствующие данные NaN
с указанными значениями. Пандас дропна()
метод эффективно обрабатывает и удаляет нулевые значения из DataFrame, в то время как метод fillna()
Метод предлагает гибкое решение для замены NaN
значения с заданным значением по вашему выбору. Этот метод предлагает гибкий подход к управлению отсутствующими данными, позволяя заполнить пробелы с помощью фиксированного значения, а именно среднее, медиана, режимили другие расчетные статистические данные.
# Заполните недостающие значения в столбце 'Цена' средней ценой df['Цена'] =
df['Price'].fillna(df['Price'].mean())
print(df)
Вывод кода демонстрирует, что NaN
значение было успешно заменено на среднюю цену.
PropertyID | Расположение | Спальни | Ванные комнаты | Цена | SquareFootage | ListingDate |
101 | Нью-Йорк | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | Сан-Франциско | 2 | 1 | 850000 | 1400 | 2023-06-01 |
103 | Лос-Анджелес | 4 | 3 | 780000 | 2500 | 2023-04-10 |
104 | Чикаго | 3 | 2 | 650000 | 1700 | NaN |
105 | Майами | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | Хьюстон | 4 | 3 | 450000 | 2000 | 2023-07-01 |
Сайт ListingDate столбец также содержит NaN
значение. Вместо того чтобы выполнять вычисления, мы можем просто использовать заполнитель, например "неизвестно. Вот как это сделать;
# Заполните отсутствующие значения в столбце 'ListingDate' заполнителем
df['ListingDate'] = df['ListingDate'].fillna('Unknown')
print(df)
Теперь кадр данных выглядит следующим образом:
PropertyID | Расположение | Спальни | Ванные комнаты | Цена | SquareFootage | ListingDate |
101 | Нью-Йорк | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | Сан-Франциско | 2 | 1 | NaN | 1400 | 2023-06-01 |
103 | Лос-Анджелес | 4 | 3 | 780000 | 2500 | 2023-04-10 |
104 | Чикаго | 3 | 2 | 650000 | 1700 | Неизвестный |
105 | Майами | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | Хьюстон | 4 | 3 | 450000 | 2000 | 2023-07-01 |
Функция groupby() в Pandas - это универсальный и мощный инструмент для разделения DataFrame на группы по одному или нескольким столбцам, позволяющий эффективно анализировать и агрегировать данные.
Она работает по принципу "разделить - применить - объединить ":
сначала данные разбиваются на группы;
затем к каждой группе применяется определенная функция;
наконец, результаты объединяются в новый DataFrame.
Такой оптимизированный подход упрощает сложные задачи манипулирования данными и повышает эффективность анализа.
Например, вы можете рассчитать среднюю цену недвижимости по местоположению или подсчитать количество объявлений по категориям спален.
# Сгруппируйте данные по "местоположению" и рассчитайте среднюю цену
avg_price_by_location = df.groupby('Location')['Price'].mean()
print(avg_price_by_location)
# Группировка по "Спальням" и расчет общей площади
total_sqft_by_bedrooms = df.groupby('Bedrooms')['SquareFootage'].sum()
print(total_sqft_by_bedrooms)
# Группировка по нескольким столбцам и подсчет
count_by_location_bedrooms = df.groupby(['Location', 'Bedrooms']).size()
print(count_by_location_bedrooms)
Средняя цена по местоположению:
Местонахождение
Чикаго 650000.0
Хьюстон 450000.0
Лос-Анджелес НаН
Майами 1200000.0
Нью-Йорк 750000.0
Сан-Франциско 850000.0
Имя: Price, dtype: float64
Общая площадь по спальням:
Спальни
2 1400
3 3500
4 4500
5 3500
Подсчет по расположению и спальням:
Расположение Спальни
Чикаго 3 1
Хьюстон 4 1
Лос-Анджелес 4 1
Майами 5 1
Нью-Йорк 3 1
Сан-Франциско 2 1
dtype: int64
Функция sort_values() используется для сортировки DataFrame по одному или нескольким столбцам в порядке возрастания или убывания. Сортировка необходима для ранжирования данных, выявления экстремальных значений (например, объектов недвижимости с самой высокой ценой) или просто для упорядочивания набора данных для лучшей читабельности. Вы можете сортировать по числовым, категориальным или временным столбцам.
# Сортировка по 'цене' в порядке убывания
df_sorted_by_price = df.sort_values(by='Price', ascending=False)
print(df_sorted_by_price)
# Сортировка по 'Location' в порядке возрастания
df_sorted_by_location = df.sort_values(by='Location')
print(df_sorted_by_location)
# Сортировка по нескольким столбцам: сначала по 'Bedrooms' (по возрастанию), а затем по 'Price' (по убыванию)
df_sorted_by_bedrooms_price = df.sort_values(by=['Bedrooms', 'Price'], ascending=[True, False])
print(df_sorted_by_bedrooms_price)
Сортировать по цене (по убыванию):
PropertyID Расположение Спальни ... Цена ПлощадьФутаж ЛистингДата
4 105 Майами 5... 1200000.0 3500 2023-03-22
1 102 Сан-Франциско 2... 850000.0 1400 2023-06-01
0 101 Нью-Йорк 3... 750000.0 1800 2023-05-15
3 104 Чикаго 3... 650000.0 1700 NaN
5 106 Хьюстон 4... 450000.0 2000 2023-07-01
2 103 Лос-Анджелес 4... NaN 2500 2023-04-10
Сортировать по местоположению (по возрастанию):
[6 строк x 7 столбцов]
PropertyID Расположение Спальни ... Цена ПлощадьФутаж ЛистингДата
3 104 Chicago 3 . .. 650000.0 1700 NaN
5 106 Хьюстон 4 . .. 450000.0 2000 2023-07-01
2 103 Лос-Анджелес 4 . .. NaN 2500 2023-04-10
4 105 Майами 5 . .. 1200000.0 3500 2023-03-22
0 101 Нью-Йорк 3 . .. 750000.0 1800 2023-05-15
1 102 Сан-Франциско 2 . .. 850000.0 1400 2023-06-01
Сортировка по спальням (по возрастанию) и цене (по убыванию):
PropertyID Расположение Спальни ... Цена ПлощадьФутаж ЛистингДата
1 102 San Francisco 2... 850000.0 1400 2023-06-01
0 101 Нью-Йорк 3... 750000.0 1800 2023-05-15
3 104 Чикаго 3... 650000.0 1700 NaN
5 106 Хьюстон 4... 450000.0 2000 2023-07-01
2 103 Лос-Анджелес 4... NaN 2500 2023-04-10
4 105 Майами 5... 1200000.0 3500 2023-03-22
Функция apply() позволяет применять пользовательские функции к строкам или столбцам DataFrame. Это мощный метод для выполнения преобразований по элементам, вычислений или условных операций, выходящих за рамки встроенных функций Pandas.
Приведем пример, в котором мы хотим создать новый столбец для расчета цены за квадратный фут.
# Определите пользовательскую функцию для расчета цены за квадратный фут
def price_per_sqft(price, sqft):
return price / sqft if sqft != 0 else 0
# Примените пользовательскую функцию для создания нового столбца
df['PricePerSqFt'] = df.apply(lambda row: price_per_sqft(row['Price'], row['SquareFootage']), axis=1)
print(df)
Вот вывод приведенного выше кода:
PropertyID Расположение Спальни ... ПлощадьФутаж ЛистингДата ЦенаПерСквФт
0 101 New York 3... 1800 2023-05-15 416.666667
1 102 Сан-Франциско 2... 1400 2023-06-01 607.142857
2 103 Лос-Анджелес 4... 2500 2023-04-10 NaN
3 104 Чикаго 3... 1700 NaN 382.352941
4 105 Майами 5... 3500 2023-03-22 342.857143
5 106 Хьюстон 4... 2000 2023-07-01 225.000000
Другим примером может быть преобразование названий локаций в верхний регистр;
# Примените преобразование для перевода всех имен местоположений в верхний регистр
df['Location'] = df['Location'].apply(lambda x: x.upper())
print(df)
Вот как это выглядит:
PropertyID Расположение Спальни ... Цена ПлощадьФутаж ЛистингДата
0 101 NEW YORK 3... 750000.0 1800 2023-05-15
1 102 САН-ФРАНЦИСКО 2... 850000.0 1400 2023-06-01
2 103 ЛОС-АНДЖЕЛЕС 4... NaN 2500 2023-04-10
3 104 ЧИКАГО 3... 650000.0 1700 NaN
4 105 МАЙАМИ 5... 1200000.0 3500 2023-03-22
5 106 ХЬЮСТОН 4... 450000.0 2000 2023-07-01
В этом руководстве мы рассмотрели 10 важнейших функций Pandas для анализа данных, от загрузки и проверки данных с помощью
и read_csv()
очистке и преобразованию с помощью таких методов, как информация()
, isnull()
, и fillna()
. Эти функции составляют основу любого рабочего процесса анализа данных, позволяя эффективно очищать, манипулировать и обобщать наборы данных. Овладев ими, вы сможете уверенно решать реальные задачи с данными. Начните практиковаться уже сегодня и узнайте, как эти инструменты могут упростить ваши задачи анализа! применить()