试试:
df = df.explode("Demographic_distribution")
df = pd.concat(
[df, df.pop("Demographic_distribution").apply(pd.Series)], axis=1
)
print(df)
打印:
ID percentage age gender
0 123456 0.000952 25-34 unknown
0 123456 0.093621 55-64 male
0 123456 0.002856 35-44 unknown
0 123456 0.031736 18-24 female
0 123456 0.085052 25-34 male
0 123456 0.019994 18-24 male
0 123456 0.085687 35-44 male
0 123456 0.133608 55-64 female
0 123456 0.112345 65+ female
0 123456 0.000317 18-24 unknown
0 123456 0.095208 45-54 female
0 123456 0.067598 65+ male
0 123456 0.086004 45-54 male
0 123456 0.075849 25-34 female
0 123456 0.098699 35-44 female
0 123456 0.003174 65+ unknown
0 123456 0.003174 45-54 unknown
0 123456 0.004126 55-64 unknown
df 已使用:
ID Demographic_distribution
0 123456 [{'percentage': 0.000952, 'age': '25-34', 'gender': 'unknown'}, {'percentage': 0.093621, 'age': '55-64', 'gender': 'male'}, {'percentage': 0.002856, 'age': '35-44', 'gender': 'unknown'}, {'percentage': 0.031736, 'age': '18-24', 'gender': 'female'}, {'percentage': 0.085052, 'age': '25-34', 'gender': 'male'}, {'percentage': 0.019994, 'age': '18-24', 'gender': 'male'}, {'percentage': 0.085687, 'age': '35-44', 'gender': 'male'}, {'percentage': 0.133608, 'age': '55-64', 'gender': 'female'}, {'percentage': 0.112345, 'age': '65+', 'gender': 'female'}, {'percentage': 0.000317, 'age': '18-24', 'gender': 'unknown'}, {'percentage': 0.095208, 'age': '45-54', 'gender': 'female'}, {'percentage': 0.067598, 'age': '65+', 'gender': 'male'}, {'percentage': 0.086004, 'age': '45-54', 'gender': 'male'}, {'percentage': 0.075849, 'age': '25-34', 'gender': 'female'}, {'percentage': 0.098699, 'age': '35-44', 'gender': 'female'}, {'percentage': 0.003174, 'age': '65+', 'gender': 'unknown'}, {'percentage': 0.003174, 'age': '45-54', 'gender': 'unknown'}, {'percentage': 0.004126, 'age': '55-64', 'gender': 'unknown'}]