Python Pandas-包含另一个数据帧的索引列表的列

Python Pandas-包含另一个数据帧的索引列表的列,python,python-2.7,pandas,Python,Python 2.7,Pandas,我有一个pandas数据框,它的一个列包含另一个数据框的索引,我想在这个数据框中创建另一个列,字典包含索引作为键和另一个数据框中的列的值 例如 Dataset1 A B C 0 9 1 [1,3] 1 7 2 [0,1] 在上述数据集中,C列具有数据集2的索引 Dataset2 A B C D 0 1 4 3 8 1 2 3 5 7 3 4 6 9 8 我的输出数据集在dataset1中应该有一个新列,其中key作为dataset2的索引,value作为dataset2中D列的值。

我有一个pandas数据框,它的一个列包含另一个数据框的索引,我想在这个数据框中创建另一个列,字典包含索引作为键和另一个数据框中的列的值

例如

Dataset1

  A B C
0 9 1 [1,3]
1 7 2 [0,1]
在上述数据集中,C列具有数据集2的索引

Dataset2
  A B C D
0 1 4 3 8
1 2 3 5 7
3 4 6 9 8
我的输出数据集在dataset1中应该有一个新列,其中key作为dataset2的索引,value作为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
dict理解
与映射一起使用:

另一个包含列表和dict理解的解决方案:

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'}
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'}