K-Anonymity icon indicating copy to clipboard operation
K-Anonymity copied to clipboard

error when running cell 777

Open rsindper opened this issue 4 years ago • 4 comments


AttributeError Traceback (most recent call last) in ----> 1 dfn = build_anonymized_dataset(df, finished_partitions, feature_columns, sensitive_column)

in build_anonymized_dataset(df, partitions, feature_columns, sensitive_column, max_partitions) 14 grouped_columns = df.loc[partition].agg(aggregations, squeeze=False) 15 sensitive_counts = df.loc[partition].groupby(sensitive_column).agg({sensitive_column : 'count'}) ---> 16 values = grouped_columns.iloc[0].to_dict() 17 for sensitive_value, count in sensitive_counts[sensitive_column].items(): 18 if count == 0:

AttributeError: 'list' object has no attribute 'to_dict'

rsindper avatar Feb 03 '21 06:02 rsindper

Have you found a solution? please

Arigato97 avatar May 12 '21 05:05 Arigato97

i considered it as a list and removed the to_dict command but then there is another error it would really be useful if someone could help

Mousta1101 avatar May 19 '21 14:05 Mousta1101

I am not sure how this is supposed to work with iloc, but replacing the line

        values = grouped_columns.iloc[0].to_dict()

by

        values = {}
        for name,val in grouped_columns.items():
            values[name] = val[0]

produces sensible results

DFranzen avatar Sep 08 '21 09:09 DFranzen

AttributeError: 'list' object has no attribute 'to_dict'

I got the same error. It could be found that the df. agg() returned a Series instead of a Dataframe, so I transformed it. this is workaround below.

grouped_columns = df.loc[partition].agg(aggregations, squeeze=False)
sensitive_counts = df.loc[partition].groupby(sensitive_column).agg({sensitive_column : 'count'})
#insert
df2=grouped_columns.to_frame()
grouped_columns=pd.DataFrame(df2.values.T,columns=df2.index)
#insert_end

XDUqinian avatar May 30 '22 15:05 XDUqinian