PANDAS ponderata media

PANDAS ponderata media

La media ponderata è la media dei dati che identifica i numeri specifici che sono più importanti degli altri numeri nel frame dati. Implementeremo tutti i modi possibili in cui la media ponderata dei panda può essere calcolata con l'aiuto di diversi esempi.

Formula

(valori_column*pesi_column).Sum ()/pesis_column.somma()

Qui, valori_column è la colonna numerica nel frame dati Pandas che memorizza i valori e pesi_column è la colonna numerica che memorizzerà il peso di ciascun valore.

Metodo 1: media ponderata

Usiamo la funzione personalizzata che calcola la media ponderata del telaio di dati Pandas. Useremo la funzione Sum () per calcolare la somma nel seguente calcolo:

SUM (dataframe_object [peso_data]*dataframe_object [value_data])/dataframe_object [peso_data].somma()

Qui, peso_data è la colonna nel frame dati che contiene pesi per valori nella colonna Value_data.

Esempio

In questo esempio, abbiamo un frame di dati denominato "calcoli" con 2 colonne di tipo intero. Ora creeremo una funzione personalizzata, "ponderato_avg_calculazioni", per calcolare la media ponderata e chiamare la funzione con queste due colonne passandole come argomenti.

Panda di importazione
# Crea il frame dati con 2 colonne e 5 righe
Calcoli = panda.DataFrame.da_dict ('count': [7,8,9,0,4],
'Quantity': [2,3,4,5,2]
)
# Visualizza i dati di dati - calcoli
Stampa (calcoli)
# Funzione personalizzata che calcola la media ponderata
def pondeed_avg_calculazioni (calcoli, valore_data, peso_data):
Somma di restituzione (calcoli [peso_data] * Calcoli [valore_data])/calcoli [peso_data].somma()
stampa()
# Chiama la funzione passando il frame dati, "quantità" come value_data e "conta" come peso_data
print (ponded_avg_calculazioni (calcoli, "quantità", "conta"))

Produzione

Contare la quantità
0 7 2
1 8 3
2 9 4
3 0 5
4 4 2
2.9285714285714284

Spiegazione

Quindi, la funzione personalizzata è:

Restituirà la media ponderata.

Quindi, la media ponderata del frame dati sopra è 2.92.

Metodo 2: media ponderata restituita in gruppi

Ora useremo la funzione GroupBy () per raggruppare le righe e restituire la media ponderata in ciascun gruppo. Il metodo Applica () viene utilizzato insieme a GroupBy () che prende la media ponderata e le colonne come parametri.

DataFrame_Object.GroupBy ('Grouping_column').Applica (ponded_avg_calculazioni, 'value_data', 'peso_data')

Qui, le righe sono state raggruppate in base ai valori in "Grouping_column". Il ponderato_avg_calculazione è una funzione personalizzata che calcola la media ponderata. Il peso_data è la colonna nel frame dati che contiene pesi per valori nella colonna Value_data.

Esempio

In questo esempio, abbiamo un frame di dati denominato "calcoli" con 3 colonne. Ora creeremo una funzione personalizzata, "ponded_avg_calculazioni", per calcolare la media ponderata e chiamare la funzione con le due colonne passandole come argomenti. Raggrupperemo le righe in base alla colonna "elemento" e restituiremo la media ponderata in ciascun gruppo.

Panda di importazione
# Crea il frame dati con 3 colonne e 5 righe
Calcoli = panda.DataFrame.da_dict ('count': [12,34,56,10,15],
'Quantity': [100.200.345.670,50],
'Item': ['Plastic', 'Iron', 'Iron', 'Steel', 'Plastic']
)
# Visualizza i dati di dati - calcoli
Stampa (calcoli)
# Funzione personalizzata che calcola la media ponderata
def pondeed_avg_calculazioni (calcoli, valore_data, peso_data):
Somma di restituzione (calcoli [peso_data] * Calcoli [valore_data])/calcoli [peso_data].somma()
stampa()
Stampa (calcoli.GroupBy ('Item').Applica (ponded_avg_calculazioni, "quantità", "count"))

Produzione

Conta oggetto di quantità
0 12 100 plastica
1 34 200 ferro
2 56 345 ferro
3 10 670 acciaio
4 15 50 plastica
articolo
Iron 290.222222
Plastica 72.222222
Acciaio 670.000000
dType: float64

Spiegazione

Quindi, la funzione personalizzata è:

Restituirà la media ponderata.

Ci sono tre gruppi nel calcolo dei dati.

  1. La media ponderata per il gruppo "ferro" è 290.22
  2. La media ponderata per il gruppo "plastica" è 72.22
  3. La media ponderata per il gruppo "in acciaio" è 670.00

Metodo 3: media ponderata restituita usando numpy

Il modulo numpy supporta la funzione media () in cui possiamo passare i valori e i pesi ad essa e ottenere la media ponderata del frame dati Panda.

  1. Nel primo parametro, dobbiamo passare la colonna dei valori.
  2. Nel secondo parametro, assegneremo la colonna "Dati di peso" ai pesi.

numpy.Medio (dataframe_object ['value_data'], pesi = dataframe_object ['peso_data'])

Esempio

In questo esempio, abbiamo un telaio di dati denominato "calcoli" con 2 colonne. Useremo direttamente Numpy.media () per calcolare la media ponderata.

Panda di importazione
importa numpy
# Crea il frame dati con 2 colonne e 5 righe
Calcoli = panda.DataFrame.da_dict ('count': [12,34,56,10,15],
'Quantity': [100.200.345.670,50]
)
# Visualizza i dati di dati - calcoli
Stampa (calcoli)
stampa()
Stampa (numpy.media (calcoli ['quantità'], pesi = calcoli ['count']))

Produzione:

Contare la quantità
0 12 100
1 34 200
2 56 345
3 10 670
4 15 50
273.7795275590551
dType: float64

Spiegazione

Qui, la colonna quantità sarà il valore e il conteggio sarà i pesi.

La media ponderata è 273.77.

Conclusione

La media ponderata dei panda è una funzione preziosa e tecnica. Abbiamo svolto la funzione personalizzata della media ponderata dei panda e della media ponderata di Numpy Panda. La media è qualcosa che dobbiamo calcolare in quasi tutto, anche i budget di piccoli generi alimentari. Pertanto, quando si parla di milioni di dati, la funzione Panda media ponderata è un piacere per tutti gli utenti che lavorano sui calcoli medi specifici dei dati nei loro campi.