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