# Πώς να υπολογίσετε μέσους όρους με τη συνάρτηση mean() της pandas

Η συνάρτηση `DataFrame.mean()` στην Python pandas χρησιμοποιείται για **τον υπολογισμό μέσων όρων** σε έναν ή περισσότερους άξονες ενός DataFrame. Η Pandas `mean()` είναι απαραίτητη για την ανάλυση αριθμητικών δεδομένων. Εκτός από τον υπολογισμό μέσων όρων, προσφέρει επίσης πληροφορίες σχετικά με την κατανομή των δεδομένων.

## Ποια είναι η σύνταξη για `DataFrame.mean()`;

Η συνάρτηση pandas `mean()` δέχεται **έως τρεις παραμέτρους** και έχει την ακόλουθη σύνταξη:

```python
DataFrame.mean(axis=None, skipna=True, numeric_only=None)
```

### Ποιες παράμετροι μπορούν να χρησιμοποιηθούν με το pandas `Dataframe.mean`;

Μπορείτε να χρησιμοποιήσετε διαφορετικές παραμέτρους για να προσαρμόσετε τον τρόπο λειτουργίας του pandas `DataFrame.mean()`.

<table>
  <thead>
    <tr>
      <th><strong>Παράμετρος</strong></th>
      <th><strong>Περιγραφή</strong></th>
      <th><strong>Προεπιλεγμένη τιμή</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`axis`</td>
      <td>Καθορίζει αν ο υπολογισμός γίνεται σε σειρές (`axis=0`) ή στήλες (`axis=1`)</td>
      <td>`0`</td>
    </tr>
    <tr>
      <td>`skipna`</td>
      <td>Εάν οριστεί σε `True`, οι τιμές NaN θα αγνοηθούν.</td>
      <td>`True`</td>
    </tr>
    <tr>
      <td>`numeric_only`</td>
      <td>Εάν οριστεί σε `True`, μόνο οι αριθμητικοί τύποι δεδομένων θα συμπεριληφθούν στον υπολογισμό.</td>
      <td>`False`</td>
    </tr>
  </tbody>
</table>

## Πώς να χρησιμοποιήσετε pandas `mean()`

Μπορείτε να εφαρμόσετε τη συνάρτηση pandas `DataFrame.mean()` τόσο σε στήλες όσο και σε σειρές.

### Υπολογισμός μέσων τιμών για στήλες

Πρώτα, θα δημιουργήσουμε ένα [DataFrame pandas](https://www.ionos.com/el-gr/digitalguide/istoselides/anaptyxi-istoselidon/python-pandas-dataframe/) με κάποια αριθμητικά δεδομένα:

```python
import pandas as pd
data = {
    'A': [1, 2, 3, 4],
    'B': [4, 5, 6, 7],
    'C': [7, 8, 9, 10]
}
df = pd.DataFrame(data)
print(df)
```

Το τελικό DataFrame έχει την εξής μορφή:

```none
A  B    C
0  1  4    7
1  2  5    8
2  3  6    9
3  4  7  10
```

Για να υπολογίσετε τον μέσο όρο κάθε στήλης, μπορείτε να χρησιμοποιήσετε τη συνάρτηση pandas `mean()`. Από προεπιλογή, η παράμετρος axis έχει οριστεί σε 0, που αντιστοιχεί στις στήλες.

```python
column_means = df.mean()
print(column_means)
```

Ο παραπάνω κώδικας υπολογίζει τον μέσο όρο για κάθε στήλη (A, B και C) βρίσκοντας το άθροισμα των στοιχείων στην αντίστοιχη στήλη και στη συνέχεια διαιρώντας το με τον αριθμό των στοιχείων στη στήλη. Το αποτέλεσμα είναι η ακόλουθη σειρά pandas:

```none
A    2.5
B    5.5
C    8.5
dtype: float64
```

### Υπολογισμός μέσων τιμών για σειρές

Αν θέλετε να βρείτε τον μέσο όρο για τις σειρές, απλά ορίστε την παράμετρο `axis` σε 1:

```python
row_means = df.mean(axis=1)
print(row_means)
```

Το Pandas `mean()` υπολογίζει τους μέσους όρους των σειρών διαιρώντας το άθροισμα των στοιχείων μιας σειράς με τον αριθμό των στοιχείων που έχει. Η κλήση της παραπάνω συνάρτησης παράγει το ακόλουθο αποτέλεσμα:

```none
0    4.0
1    5.0
2    6.0
3    7.0
dtype: float64
```

### Χειρισμός τιμών NaN

Σε αυτό το παράδειγμα, θα χρησιμοποιήσουμε ένα διαφορετικό DataFrame, το οποίο περιέχει τιμές NaN:

```python
import pandas as pd
import numpy as np
data = {
    'A': [1, 2, np.nan, 4],
    'B': [4, np.nan, 6, 7],
    'C': [7, 8, 9, np.nan]
}
df = pd.DataFrame(data)
print(df)
```

Ο παραπάνω κώδικας παράγει το ακόλουθο DataFrame:

```none
A    B    C
0  1.0  4.0  7.0
1  2.0  NaN  8.0
2  NaN  6.0  9.0
3  4.0  7.0  NaN
```

Κατά τον υπολογισμό των μέσων όρων για τις στήλες, η παράμετρος `skipna` καθορίζει εάν οι τιμές NaN πρέπει να συμπεριληφθούν ή να αγνοηθούν. Από προεπιλογή, `skipna` έχει οριστεί σε `True`, οπότε `df.mean()` αγνοεί αυτόματα τις τιμές NaN. Εάν θέλετε να συμπεριλάβετε τις τιμές NaN, πρέπει να προσθέσετε την παράμετρο `skipna=False`. Με αυτόν τον τρόπο, κάθε στήλη που περιέχει τουλάχιστον μία τιμή NaN θα επιστρέφει την τιμή NaN ως μέσο όρο.

```python
mean_with_nan = df.mean() 
print(mean_with_nan)
```

Η κλήση `df.mean()` παράγει το ακόλουθο αποτέλεσμα:

```none
A    2.333333
B    5.666667
C    8.000000
dtype: float64
```


This is a markdown version of: [https://www.ionos.com/el-gr/digitalguide/istoselides/anaptyxi-istoselidon/python-pandas-mesos-oros-dataframe/](https://www.ionos.com/el-gr/digitalguide/istoselides/anaptyxi-istoselidon/python-pandas-mesos-oros-dataframe/) for AI/LLM consumption.