Skip to content

Commit ea99716

Browse files
committed
fixed plugin "number of occurences of behaviours by subject by independent variable"
1 parent 8fcc482 commit ea99716

File tree

2 files changed

+37
-17
lines changed

2 files changed

+37
-17
lines changed

boris/analysis_plugins/number_of_occurences_by_independent_variable.py

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
import pandas as pd
88

9-
__version__ = "0.3.0"
10-
__version_date__ = "2025-03-17"
9+
__version__ = "0.4.0"
10+
__version_date__ = "2025-07-17"
1111
__plugin_name__ = "Number of occurences of behaviors by subject by independent_variable"
1212
__author__ = "Olivier Friard - University of Torino - Italy"
1313

@@ -19,16 +19,36 @@ def run(df: pd.DataFrame):
1919
This plugin returns a Pandas dataframe
2020
"""
2121

22-
df_results: df.DataFrame = (
23-
df.groupby(
24-
[
25-
"independent variable 'Weather'",
26-
"Subject",
27-
"Behavior",
28-
]
29-
)["Behavior"]
30-
.count()
31-
.reset_index(name="number of occurences")
32-
)
33-
34-
return df_results
22+
df_results_list: list = []
23+
24+
flag_variable_found = False
25+
26+
for column in df.columns:
27+
if isinstance(column, tuple) or (isinstance(column, str) and not column.startswith("independent variable '")):
28+
continue
29+
30+
flag_variable_found = True
31+
grouped_df: df.DataFrame = (
32+
df.groupby(
33+
[
34+
column,
35+
"Subject",
36+
"Behavior",
37+
]
38+
)["Behavior"]
39+
.count()
40+
.reset_index(name="number of occurences")
41+
)
42+
43+
grouped_df.rename(columns={column: "Value"}, inplace=True)
44+
45+
grouped_df.insert(0, "independent variable name", column)
46+
47+
df_results_list.append(grouped_df)
48+
49+
df_results = pd.concat(df_results_list, ignore_index=True) if df_results_list else pd.DataFrame([])
50+
51+
if not flag_variable_found:
52+
return "No independent variable found"
53+
else:
54+
return df_results

boris/version.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@
2020
2121
"""
2222

23-
__version__ = "9.6"
24-
__version_date__ = "2025-07-15"
23+
__version__ = "9.6.1"
24+
__version_date__ = "2025-07-17"

0 commit comments

Comments
 (0)