logo

Python | Pandas.apply()

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

Установка:



Імпортуйте модуль Pandas у файл python за допомогою таких команд на терміналі:

структура в структурі даних
pip install pandas>

Щоб прочитати файл csv і стиснути його в серію pandas, використовуються такі команди:

import pandas as pd s = pd.read_csv('stock.csv', squeeze=True)>

Синтаксис:



s.apply(func, convert_dtype=True, args=())>

Параметри:

функція: .apply приймає функцію та застосовує її до всіх значень серії pandas. convert_dtype: Перетворіть dtype відповідно до роботи функції. args=(): Додаткові аргументи для передачі функції замість ряду. Тип повернення: Серія Pandas після застосування функції/операції.

Приклад №1:



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

PYTHON3




sql вибір кількох таблиць

import> pandas as pd> # reading csv> s>=> pd.read_csv('stock.csv', squeeze>=> True>)> # defining function to check price> def> fun(num):> >if> num<>200>:> >return> 'Low'> >elif> num>>=> 200> and> num<>400>:> >return> 'Normal'> >else>:> >return> 'High'> # passing function to apply and storing returned series in new> new>=> s.>apply>(fun)> # printing first 3 element> print>(new.head(>3>))> # printing elements somewhere near the middle of series> print>(new[>1400>], new[>1500>], new[>1600>])> # printing last 3 elements> print>(new.tail(>3>))>

>

колекція java
>

Вихід:

Приклад №2:

У наступному прикладі тимчасова анонімна функція створена в самому .apply за допомогою лямбда. Він додає 5 до кожного значення в серії та повертає нову серію.

PYTHON3

змінні nginx




читати з файлу csv у java

import> pandas as pd> s>=> pd.read_csv('stock.csv', squeeze>=> True>)> # adding 5 to each value> new>=> s.>apply>(>lambda> num : num>+> 5>)> # printing first 5 elements of old and new series> print>(s.head(),>' '>, new.head())> # printing last 5 elements of old and new series> print>(>' '>, s.tail(),>' '>, new.tail())>

>

>

Вихід:

0 50.12 1 54.10 2 54.65 3 52.38 4 52.95 Name: Stock Price, dtype: float64   0 55.12 1 59.10 2 59.65 3 57.38 4 57.95 Name: Stock Price, dtype: float64  3007 772.88 3008 771.07 3009 773.18 3010 771.61 3011 782.22 Name: Stock Price, dtype: float64   3007 777.88 3008 776.07 3009 778.18 3010 776.61 3011 787.22 Name: Stock Price, dtype: float64>

Як спостерігалося, нові значення = старі значення + 5