Python 引用其他数据帧的数据帧的嵌套扩展

Python 引用其他数据帧的数据帧的嵌套扩展,python,pandas,dataframe,join,merge,Python,Pandas,Dataframe,Join,Merge,我有一个数据帧df0,如下所示: col 1 | col 2| x | df1 | y | df2 | col 3 | col 4 a | b c | d col 3 | col 4 e | f g | h df1如下所示: col 1 | col 2| x | df1 | y | df2 | col 3 | col 4 a | b c | d col 3 | col 4

我有一个数据帧df0,如下所示:

col 1 | col 2|
  x   | df1  |
  y   | df2  |
col 3 | col 4
 a    |   b
 c    |   d
col 3 | col 4
 e    |   f
 g    |   h
df1如下所示:

col 1 | col 2|
  x   | df1  |
  y   | df2  |
col 3 | col 4
 a    |   b
 c    |   d
col 3 | col 4
 e    |   f
 g    |   h
df2如下所示:

col 1 | col 2|
  x   | df1  |
  y   | df2  |
col 3 | col 4
 a    |   b
 c    |   d
col 3 | col 4
 e    |   f
 g    |   h
我想展开dataframe
col2
以获得以下内容:

col 1 | col 3| col 4
  x   | a    |   b
  x   | c    |   d
  y   | e    |   f
  y   | g    |   h

假设您有一个数据帧字典,然后使用
pd.concat
稍微整理一下,这应该是可能的:

df_dict = {'df1' : df1, 'df2' : df2, ...}
pd.concat(
      [df_dict[d] for d in df['col 2']], keys=df['col 1']
   ).reset_index(level=1, drop=True).reset_index()


@smci在哪一列上左连接?注意第2列是数据帧变量名的列表。@coldspeed:是的,你说得对。但是你连接了df1和df2,然后将df0['col1']合并到它们的结果中,除了
col2
指定了哪个子数据帧。4在问题上向上投票,没有人相信答案?向上看,带钥匙的康卡特是通往这里的道路。看一看,并说服自己,任何低于这将是不够普遍的。感谢接受!如果我的答案有帮助的话,你可以向上投票(点击我答案左边“0”上方的三角形)。非常感谢。