what you proposed in the first code snippet still has errors
Traceback (most recent call last):
File “C:\Users\elean\AppData\Roaming\Python\Python310\site-packages\pandas\core\indexes\base.py”, line 3653, in get_loc
return self._engine.get_loc(casted_key)
File “pandas_libs\index.pyx”, line 147, in pandas._libs.index.IndexEngine.get_loc
File “pandas_libs\index.pyx”, line 176, in pandas._libs.index.IndexEngine.get_loc
File “pandas_libs\hashtable_class_helper.pxi”, line 7080, in pandas._libs.hashtable.PyObjectHashTable.get_item
File “pandas_libs\hashtable_class_helper.pxi”, line 7088, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: ‘count’
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File “D:\TEACHING\Github\ual-dps-inclass\data_bias_exercise\tester.py”, line 18, in
income_percent = income_distribution.groupby(‘gender’).apply(lambda x: 100 * x[‘count’] / x[‘count’].sum()).reset_index(name=‘percentage’)
File “C:\Users\elean\AppData\Roaming\Python\Python310\site-packages\pandas\core\groupby\generic.py”, line 216, in apply
return super().apply(func, *args, **kwargs)
File “C:\Users\elean\AppData\Roaming\Python\Python310\site-packages\pandas\core\groupby\groupby.py”, line 1353, in apply
result = self._python_apply_general(f, self._selected_obj)
File “C:\Users\elean\AppData\Roaming\Python\Python310\site-packages\pandas\core\groupby\groupby.py”, line 1402, in _python_apply_general
values, mutated = self.grouper.apply(f, data, self.axis)
File “C:\Users\elean\AppData\Roaming\Python\Python310\site-packages\pandas\core\groupby\ops.py”, line 767, in apply
res = f(group)
File “D:\TEACHING\Github\ual-dps-inclass\data_bias_exercise\tester.py”, line 18, in
income_percent = income_distribution.groupby(‘gender’).apply(lambda x: 100 * x[‘count’] / x[‘count’].sum()).reset_index(name=‘percentage’)
File “C:\Users\elean\AppData\Roaming\Python\Python310\site-packages\pandas\core\series.py”, line 1007, in getitem
return self._get_value(key)
File “C:\Users\elean\AppData\Roaming\Python\Python310\site-packages\pandas\core\series.py”, line 1116, in _get_value
loc = self.index.get_loc(label)
File “C:\Users\elean\AppData\Roaming\Python\Python310\site-packages\pandas\core\indexes\multi.py”, line 2812, in get_loc
loc = self._get_level_indexer(key, level=0)
File “C:\Users\elean\AppData\Roaming\Python\Python310\site-packages\pandas\core\indexes\multi.py”, line 3160, in _get_level_indexer
idx = self._get_loc_single_level_index(level_index, key)
File “C:\Users\elean\AppData\Roaming\Python\Python310\site-packages\pandas\core\indexes\multi.py”, line 2752, in _get_loc_single_level_index
return level_index.get_loc(key)
File “C:\Users\elean\AppData\Roaming\Python\Python310\site-packages\pandas\core\indexes\base.py”, line 3655, in get_loc
raise KeyError(key) from err
KeyError: ‘count’