Sobes.tech
Middle

Ποια είναι η διαφορά μεταξύ των μεθόδων apply και map στο Pandas;

sobes.tech AI

Απάντηση από AI

Οι μέθοδοι apply και map στο Pandas χρησιμοποιούνται για την εφαρμογή συναρτήσεων σε δεδομένα, αλλά χρησιμοποιούνται σε διαφορετικά πλαίσια και έχουν διαφορετικές δυνατότητες.

  • Το map εφαρμόζεται συνήθως σε Series και προορίζεται για μετατροπές στοιχείο προς στοιχείο. Μπορεί να δεχτεί ένα λεξικό, μια συνάρτηση ή μια Series για αντικατάσταση ή μετατροπή τιμών.

  • Το apply είναι πιο ευέλικτο και μπορεί να εφαρμοστεί τόσο σε Series όσο και σε DataFrame. Για Series, λειτουργεί παρόμοια με το map, αλλά μπορεί να δεχτεί συναρτήσεις που επιστρέφουν έναν scalar ή μια Series. Για DataFrame, το apply επιτρέπει την εφαρμογή μιας συνάρτησης κατά μήκος γραμμών (axis=1) ή στηλών (axis=0).

Παράδειγμα:

import pandas as pd

ds = pd.Series([1, 2, 3])

# το map εφαρμόζει τη συνάρτηση σε κάθε στοιχείο
print(ds.map(lambda x: x * 2))

# το apply σε Series είναι παρόμοιο με το map
print(ds.apply(lambda x: x * 2))

# το apply σε DataFrame κατά στήλες
df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
print(df.apply(sum, axis=0))  # άθροισμα κατά στήλες
print(df.apply(sum, axis=1))  # άθροισμα κατά γραμμές

Συνοπτικά: το map — για απλές μετατροπές σε Series, το apply — πιο ευέλικτο, λειτουργεί και με DataFrame και με Series, και επιτρέπει την εφαρμογή σύνθετων συναρτήσεων.