code for finding gender in voter list
import json
import pandas as pd
s = '{"VoterList":[{"VoterId":"RTO4567","Name":"Sudharsan","AssemblyConstituency":"Arani","Address":"4, Thiruvallur st, Devikapuram","Age":"30","Gender":"M","State":"Tamil Nadu","Pin":"603329","PollingStation":{"ID":"34882","Name":"Govt Boys school, Devikapuram","Address":"devikapuram main road"}},{"VoterId":"RTO4557","Name":"Malathi","AssemblyConstituency":"Arani","Address":"4, Thiruvallur st, Devikapuram","Age":"47","Gender":"F","State":"Tamil Nadu","Pin":"603329","PollingStation":{"ID":"34882","Name":"Govt Boys school, Devikapuram","Address":"devikapuram main road"}},{"VoterId":"RTO2521","Name":"Palaniappan","AssemblyConstituency":"Vellore","Address":"44, Thennavan Nagar, Pallikonda","Age":"50","State":"Tamil Nadu","Pin":"635809","PollingStation":{"ID":"12882","Name":"Govt Boys school, Pallikonda","Address":"HAR street"}},{"VoterId":"RTO4551","Name":"Kumar","AssemblyConstituency":"Vellore","Address":"4, Thennavan Nagar, Pallikonda","Age":"19","Gender":"M","State":"Tamil Nadu","Pin":"635809","PollingStation":{"ID":"12882","Name":"Govt Boys school, Pallikonda","Address":"HAR street"}},{"VoterId":"RTO5542","Name":"Sita","AssemblyConstituency":"Vellore","Address":"4, Thennavan Nagar, Pallikonda","Age":"24","Gender":"F","State":"Tamil Nadu","Pin":"635809","PollingStation":{"ID":"12882","Name":"Govt Boys school, Pallikonda","Address":"HAR street"}},{"VoterId":"RTO4329","Name":"Lavanya","AssemblyConstituency":"Vellore","Address":"4, Thennavan Nagar, Pallikonda","Age":"24","Gender":"F","State":"Tamil Nadu","Pin":"635809","PollingStation":{"ID":"12882","Name":"Govt Boys school, Pallikonda","Address":"HAR street"}},{"VoterId":"RTO2318","Name":"Dhanraj","AssemblyConstituency":"Arani","Address":"4, Thiruvallur st, Devikapuram","Age":"24","Gender":"M","State":"Tamil Nadu","Pin":"603329","PollingStation":{"ID":"34882","Name":"Govt Boys school, Devikapuram","Address":"devikapuram main road"}}]}'
data = json.loads(s)
With in the link given is a JSON object as the Input , You can write
your code in local and then make it work with this browser based compiler.
1. Write a code to print output the Constituency wise Gender ratio and
2. find which constituency has the maximum female count and print them.
import json
import pandas as pd
from pandas .io.json import json_normalize
data=json.loads(s)
resu=pd.json_normalize(data,record_path=['VoterList'])
lst=pd.DataFrame(resu.groupby('AssemblyConstituency')['Gender'].apply(list))
print(lst)
s=resu.groupby(['AssemblyConstituency','Gender'])['Age'].agg({'Gender':'count'})
s[s.gender.max()]
resu.value_counts('Age').max()
resu.groupy(['AssemblyConstituency','Gender'])['Gender'].count().max(level=0)
Output:
Gender
AssemblyConstituency
Arani [M, F, M]
Vellore [nan, M, F, F]
Traceback (most recent call last):
File "HelloWorld.py", line 18, in <module>
s=resu.groupby(['AssemblyConstituency','Gender'])['Age'].agg({'Gender':'count'})
File "/usr/local/lib/python3.6/dist-packages/pandas/core/groupby/generic.py", line 246, in aggregate
ret = self._aggregate_multiple_funcs(func)
File "/usr/local/lib/python3.6/dist-packages/pandas/core/groupby/generic.py", line 292, in _aggregate_multiple_funcs
raise SpecificationError("nested renamer is not supported")
pandas.core.base.SpecificationError: nested renamer is not supported