Примерно так
import pandas as pd
import xml.etree.ElementTree as ET
xml = '''<root>
<person age="18">
<name>hzj</name>
<sex>man</sex>
</person>
<person age="19" des="hello">
<name>kiki</name>
<sex>female</sex>
</person>
<person age="19" des="hi">
<name>jane</name>
<sex>female</sex>
</person>
</root>'''
data_frames = {}
root = ET.fromstring(xml)
for person in root.findall('.//person'):
age = person.attrib['age']
df = data_frames.get(age,None)
if df is None:
data_frames[age] = pd.DataFrame()
data_frames[age]= data_frames[age].append({'name':person.find('./name').text,'sex':person.find('./sex').text},ignore_index=True)
for age,df in data_frames.items():
print('{} --> {}'.format(age,df.head()))
вывод
18 --> name sex
0 hzj man
19 --> name sex
0 kiki female
1 jane female