Berechnen des Mittelwerts für eine Spalte von Arrays in PandasPython

Python-Programme
Anonymous
 Berechnen des Mittelwerts für eine Spalte von Arrays in Pandas

Post by Anonymous »

Ich habe den folgenden Pandas-Datenrahmen

Code: Select all

import pandas as pd
import numpy as np

dat = pd.DataFrame({
'A': [1,2,3],
'B': [[[np.nan, 0.0, 0.0, 0.0, 0.0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 1]],
[[0.32894736842105265, 0.039473684210526314, 0.009868421052631578, 0.009868421052631578, 0.03289473684210526], [0.038461538461538464, 0.07692307692307693, 0.07692307692307693, 0.038461538461538464, 0.15384615384615385], [0.3333333333333333, 0.0, 0.0, 0.0, 0.6666666666666666], [0.0, 0.0, 0.0, 0.0, 1.0], [0, 0, 0, 0, 1]],
[[0.4765625, 0.03125, 0.03125, 0.0078125, 0.0078125], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 1]]]})
Jetzt möchte ich den Spaltenmittelwert für Spalte B ermitteln. Da jedes Element der Spalte B ein Array ist, sollte „mean“ natürlich auch ein anderes Array mit derselben Dimension sein.
Gibt es eine Möglichkeit, dies zu erreichen? Ich habe es mit dat['B'].mean(axis=1) versucht, erhalte aber die folgende Fehlermeldung:

Code: Select all

Traceback (most recent call last):
File "/Users/system/lib/python3.12/site-packages/pandas/core/generic.py", line 576, in _get_axis_number
return cls._AXIS_TO_AXIS_NUMBER[axis]
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
KeyError: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "", line 1, in 
File "/Users/system/lib/python3.12/site-packages/pandas/core/series.py", line 6549, in mean
return NDFrame.mean(self, axis, skipna, numeric_only, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/system/lib/python3.12/site-packages/pandas/core/generic.py", line 12420, in mean
return self._stat_function(
^^^^^^^^^^^^^^^^^^^^
File "/Users/system/lib/python3.12/site-packages/pandas/core/generic.py", line 12377, in _stat_function
return self._reduce(
^^^^^^^^^^^^^
File "/Users/system/lib/python3.12/site-packages/pandas/core/series.py", line 6439, in _reduce
self._get_axis_number(axis)
File "/Users/system/lib/python3.12/site-packages/pandas/core/generic.py", line 578, in _get_axis_number
raise ValueError(f"No axis named {axis} for object type {cls.__name__}")
ValueError: No axis named 1 for object type Series

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post