Skip to content

path='average' concatenates the result using wrong index #300

Description

@hbaniecki

mean isn't calculated over variable but path orders (pd.concat uses integer index to join, not variable)

if path is not None:
if isinstance(path, str) and path == 'average':
# let's calculate an average attribution
extracted_contributions = [None] * B
for i in range(B):
extracted_contributions[i] = result[i].sort_values(['label', 'variable']).loc[:, 'contribution']
extracted_contributions = pd.concat(extracted_contributions, axis=1)
result_average = deepcopy(result[0])
result_average = result_average.sort_values(['label', 'variable'])
result_average['contribution'] = extracted_contributions.mean(axis=1)
result_average['B'] = 0
result_average['sign'] = np.sign(result_average['contribution'])
result.append(result_average)

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions