Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫:将两列值与嵌套字典进行比较_Python_Pandas - Fatal编程技术网

Python 熊猫:将两列值与嵌套字典进行比较

Python 熊猫:将两列值与嵌套字典进行比较,python,pandas,Python,Pandas,我读了很多书,但我不知道该怎么做。我有一个df,有两列:data和fold,还有一个嵌套字典,名为dicDataFolds,其中data作为每个字典的键,而fold作为每个字典的键,如下所示: dicDataFolds = {'data1': {1: 111936, 2: 111928, 3: 111821, 4: 111852, 5: 111882}, 'data2': {1: 1566460, 2: 1566434, 3: 1566245, 4: 1566

我读了很多书,但我不知道该怎么做。我有一个df,有两列:
data
fold
,还有一个嵌套字典,名为
dicDataFolds
,其中
data
作为每个字典的键,而
fold
作为每个字典的键,如下所示:

dicDataFolds =  {'data1': {1: 111936, 2: 111928, 3: 111821, 4: 111852, 5: 111882},
                 'data2': {1: 1566460, 2: 1566434, 3: 1566245, 4: 1566502, 5: 1566550},
                 'data3': {1: 292478, 2: 316757, 3: 316671, 4: 292265, 5: 316018},
                  ...
                  }
我想访问字典,以便获得“data”和“fold”列值所指向的值,并将其存储在新列中

有什么建议吗?

  • 编写一个函数
    • 以级数为参数
    • 从该序列中提取
      数据
      折叠
    • 使用这些值访问字典
    • 并返回结果
  • 沿
    dataframe[['data','fold']]的轴1应用函数
  • 将该应用程序的返回值分配给数据帧的新列

尝试将dict转换为df,然后使用df:
df=pf.DataFrame(dicDataFolds)
我已经按照您的建议从我的字典创建了一个
dfdic
,但我不知道如何使用这两个列值进行访问:我已经尝试了这个
dfdic[df['data']][df['fold']]
但它不起作用。下一步,你可以合并两个数据帧并得到你需要的结果。谢谢你,我已经用与你回答类似的方式解决了问题,但我认为会有更直接的解决方法。