gpt4 book ai didi

python - 将包含字典的 Pandas 数据框行拆分为多行

转载 作者:行者123 更新时间:2023-12-01 23:40:55 26 4
gpt4 key购买 nike

我有一个包含两列的 Pandas 数据框 - group_id 和 personal_score。 group id列包含一些id号,其中personal score列包含不同长度的字典。这是一个例子:

  group_id personal_score
0 77 {'149': 17, '819': 22}
1 37 {'821': 18, '359': 24, '089': 17, '170': 15}
2 51 {'280': 18, '261': 18, '628': 20, '722': 21, '744': 19, '152': 19}
3 84 {'140': 19}

我想将 personal_score 列中的字典拆分为两列,personal_id 取字典的键,score 取值,而 group_id 列中的值对通讯字典中的所有拆分行重复。输出应如下所示:

  group_id     personal_id     score
0 77 149 17
1 77 819 22
2 37 821 18
3 37 359 24
4 37 089 17
5 37 170 15
6 51 280 18
7 51 261 18
8 51 628 20
9 51 722 21
10 51 744 19
11 51 152 19
12 84 140 19

非常感谢您的帮助。

最佳答案

你可以这样做:

df = pd.DataFrame([[i, k, v] for i, d in df[['group_id', 'personal_score']].values for k, v in d.items()],
columns=['group_id', 'personal_id', 'score'])
print(df)

输出

    group_id personal_id  score
0 77 149 17
1 77 819 22
2 37 821 18
3 37 359 24
4 37 089 17
5 37 170 15
6 51 280 18
7 51 261 18
8 51 628 20
9 51 722 21
10 51 744 19
11 51 152 19
12 84 140 19

关于python - 将包含字典的 Pandas 数据框行拆分为多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64988752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com