aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThéo de la Hogue2023-06-15 11:07:27 +0200
committerThéo de la Hogue2023-06-15 11:07:27 +0200
commitadeddd8c37801caf50652484c8816fa77a9efacd (patch)
tree02b0281b2a6b56d3703d5a54faef7585df45f52d
parent69d4c0e31450fd5e0c0ec01d4cceaa55940e6262 (diff)
downloadargaze-adeddd8c37801caf50652484c8816fa77a9efacd.zip
argaze-adeddd8c37801caf50652484c8816fa77a9efacd.tar.gz
argaze-adeddd8c37801caf50652484c8816fa77a9efacd.tar.bz2
argaze-adeddd8c37801caf50652484c8816fa77a9efacd.tar.xz
Adding specific from_dataframe classmethod for TimeStampedGazePositions.
-rw-r--r--src/argaze/GazeFeatures.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/argaze/GazeFeatures.py b/src/argaze/GazeFeatures.py
index ff561fb..faf1093 100644
--- a/src/argaze/GazeFeatures.py
+++ b/src/argaze/GazeFeatures.py
@@ -147,6 +147,16 @@ class TimeStampedGazePositions(DataStructures.TimeStampedBuffer):
return TimeStampedGazePositions({ast.literal_eval(ts_str): json_buffer[ts_str] for ts_str in json_buffer})
+ @classmethod
+ def from_dataframe(self, dataframe: pandas.DataFrame, exclude=[]) -> TimeStampedBufferType:
+ """Create a TimeStampedGazePositions from [Pandas DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html)."""
+
+ dataframe.drop(exclude, inplace=True, axis=True)
+
+ assert(dataframe.index.name == 'timestamp')
+
+ return TimeStampedGazePositions(dataframe.to_dict('index'))
+
GazeMovementType = TypeVar('GazeMovement', bound="GazeMovement")
# Type definition for type annotation convenience