Python Pandas-将多个值解包到另一列,并从中合并到一个Df

Python Pandas-将多个值解包到另一列,并从中合并到一个Df,python,python-3.x,pandas,Python,Python 3.x,Pandas,假设您拥有以下原始df: A B 0 {'hello':'world'} {'covid':19} 1 {'hello':'moon'} {'covid':23} 我想得到一个结果,比如: hello covid 0 world 19 1

假设您拥有以下原始df:

   A                      B                  
0  {'hello':'world'}   {'covid':19}          
1  {'hello':'moon'}    {'covid':23}          
我想得到一个结果,比如:

       hello            covid        
0      world              19            
1      moon               23
如何使用熊猫实现这一点

如果我这样做:

x = raw_df.A.dropna().apply(pd.Series)  
y = raw_df.B.dropna().apply(pd.Series)
我将得到部分结果df,一些在x,一些在y

  • 如何将它们连接到匹配索引中,以作为我上面提到的结果df
  • 我能写一行就把它都写下来吗?(将相关列解包并合并回dicts值)

  • 我们可以做
    stack
    unstack

    s=df.stack().apply(pd.Series).stack().reset_index(level=1,drop=True).unstack()
       hello covid
    0  world    19
    1   moon    23
    
    您可以尝试:

    pd.concat((pd.DataFrame.from_records(x) for x in df.values.T), axis=1)
    
    输出:

       hello  covid
    0  world     19
    1   moon     23
    

    您能解释一下双
    堆栈
    取消堆栈
    级别=1
    删除=True
    的含义吗?如果我们有更多的专栏放在一边,而不需要打开包装,这是否有效it@JavaSastack and unstack是pivot的一种布局,对于drop级别,因为original的列带有A和B,并且您希望使用dict键重命名dataframe,所以我们需要删除dataframeok的原始名称,知道我为什么要使用另一个类似的示例吗<代码>{ValueError}索引包含重复的条目,无法重塑@JavaSa您每行有两个相同的dict键,这将导致问题这对我来说是开箱即用的,对我的原始示例也是如此!如果我想以这种方式重新编制索引,
    covid
    列将被放置在
    hello
    第一列之前,如raw_df?@JavaSa链中所示,该链具有
    sort_索引(aixs=1)
    。您能用参数更新您的anser吗?我没有成功地按原样使用它