gpt4 book ai didi

python - Pandas - 带有另一个数据框python索引列表的列

转载 作者:行者123 更新时间:2023-11-30 22:34:19 24 4
gpt4 key购买 nike

我有一个 pandas 数据框,其中一列保存另一个数据框的索引,我想在此数据框中再创建一列,其中字典将索引作为另一个数据框中列的键和值。

示例,

Dataset1

A B C
0 9 1 [1,3]
1 7 2 [0,1]

在上面的数据集中,C 列具有 dataset2 的索引。

Dataset2
A B C D
0 1 4 3 8
1 2 3 5 7
3 4 6 9 8

我的输出数据集应该在 dataset1 中有一个新列,其中键作为 dataset2 的索引,值作为 dataset2 中 D 列的值。所以输出应该是这样的,

Dataset1
A B C D
0 9 1 [1,3] {'1':'7','3':'8'}
1 7 2 [0,1] {'0':'8','1':'7'}

我该如何实现这一目标?提前致谢。

最佳答案

您可以将 dict 理解to_dict 创建的 dict 的映射结合使用。 :

d = Dataset2['D'].to_dict()

Dataset1['D'] = Dataset1['C'].apply(lambda x: {str(y):str(d[y]) for y in x})
print (Dataset1)
A B C D
0 9 1 [1, 3] {'1': '7', '3': '8'}
1 7 2 [0, 1] {'0': '8', '1': '7'}

另一个具有列表和字典理解的解决方案:

Dataset1['D'] = [{str(y):str(d[y]) for y in x} for x in Dataset1['C']]
print (Dataset1)
A B C D
0 9 1 [1, 3] {'1': '7', '3': '8'}
1 7 2 [0, 1] {'0': '8', '1': '7'}

关于python - Pandas - 带有另一个数据框python索引列表的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44884007/

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