Розуміння Pandas Series
Series — це одновимірні дані з мітками в Pandas, схожі на стовпчик у таблиці. Кожне значення в Series має відповідну мітку, яка називається індексом. Це робить Series надзвичайно корисними для організації даних та отримання значень за їхніми мітками.
Навігація документацією Pandas
Ключовим аспектом освоєння будь-якої бібліотеки є розуміння її документації. Я навчився як безпосередньо отримувати доступ до документації Pandas у JupyterLab:
- Поставте курсор всередині дужок функції і натисніть Shift + Tab для швидкого перегляду.
- Натисніть двічі для розширеного перегляду, і утримуйте Ctrl + Shift + Tab для ще детальнішої інформації.
Якщо це не працює, переконайтеся, що ваша середовище JupyterLab налаштоване правильно, як я це зробив сьогодні. Це невеликий, але важливий крок для підвищення ефективності під час програмування.
Як створити Series
Я досліджував два способи створення Series:
- Використання позиційних аргументів: де перший аргумент — це дані, а другий — індекс.
import pandas as pd
fruits = ["Apple", "Banana", "Cherry", "Date"]
weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday"]
# Обидва рядки дають однаковий результат, оскільки ми явно вказуємо параметри
s1 = pd.Series(data=fruits, index=weekdays)
s2 = pd.Series(index=weekdays, data=fruits)
print(s1)
print(s2)
Monday Apple
Tuesday Banana
Wednesday Cherry
Thursday Date
dtype: object
Як s1
, так і s2
є однаковими, оскільки ми використовували параметри (data
і index
), щоб явно сказати Pandas, що робити.
2. Використання позиційних аргументів
Якщо параметри не вказані за іменем, Pandas вважає, що:
- перший аргумент — це дані.
- другий аргумент — це індекс.
import pandas as pd
# Оголошення даних та індексу
fruits = ["Apple", "Banana", "Grape", "Orange", "Mango"]
weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
# Створення Series s3
s3 = pd.Series(fruits, weekdays)
print("Series s3:")
print(s3)
# Створення Series s4
s4 = pd.Series(weekdays, fruits)
print("\nSeries s4:")
print(s4)
Series s3:
Monday Apple
Tuesday Banana
Wednesday Grape
Thursday Orange
Friday Mango
dtype: object
Series s4:
Apple Monday
Banana Tuesday
Grape Wednesday
Orange Thursday
Mango Friday
dtype: object
Чому результати різні?
- Порядок аргументів: у
s3
списокfruits
є даними, аweekdays
— індексом. Уs4
це було змінено:weekdays
стало даними, аfruits
— індексом. - Параметри та аргументи: якби ви явно вказали параметри як
data
іindex
, то результат був би однаковим незалежно від порядку аргументів, як це було у іншому методі.
Практика: Спробуйте самі
Ось завдання, яке я виконав під час сьогоднішньої сесії:
- Створіть два Series в Pandas:
- Series 1 (
s1
): Їжа як дані, соуси як індекс. - Series 2 (
s2
): Соуси як дані, їжа як індекс.
Перевірте своє розуміння, чергуючи між позиційними аргументами та аргументами за іменем.
Приклад для практики:
import pandas as pd
foods = ["Pizza", "Burger", "Pasta", "Tacos"]
dipping_sauces = ["Marinara", "Ketchup", "Alfredo", "Salsa"]
# Створіть Series, використовуючи обидва методи
# Спробуйте як позиційні аргументи, так і аргументи за іменем!
Опублікуйте свої відповіді в коментарях — я буду чекати на ваші рішення!
Перекладено з: Understanding Pandas Series Made Easy