Python DataFrame中的字典,如何拆分列

Python DataFrame中的字典,如何拆分列,python,pandas,Python,Pandas,我有一个数据框,它由一个列('Vals')组成,这是一个字典。DataFrame大致如下所示: In[215]: fff Out[213]: Vals 0 {u'TradeId': u'JP32767', u'TradeSourceNam... 1 {u'TradeId': u'UUJ2X16', u'TradeSourceNam... 2 {u'TradeId': u'JJ35A

我有一个
数据框
,它由一个
('Vals')组成,这是一个
字典
DataFrame
大致如下所示:

In[215]: fff
Out[213]: 
                                                Vals
0    {u'TradeId': u'JP32767', u'TradeSourceNam...
1    {u'TradeId': u'UUJ2X16', u'TradeSourceNam...
2    {u'TradeId': u'JJ35A12', u'TradeSourceNam...
In[220]: fff['Vals'][100]
Out[218]: 
{u'BrdsTraderBookCode': u'dffH',
 u'Measures': [{u'AssetName': u'Ie0',
   u'DefinitionId': u'6dbb',
   u'MeasureValues': [{u'Amount': -18.64}],
   u'ReportingCurrency': u'USD',
   u'ValuationId': u'669bb'}],
 u'SnapshotId': 12739,
 u'TradeId': u'17304M',
 u'TradeLegId': u'31827',
 u'TradeSourceName': u'xxxeee',
 u'TradeVersion': 1}
查看单个
时,
字典
如下所示:

In[215]: fff
Out[213]: 
                                                Vals
0    {u'TradeId': u'JP32767', u'TradeSourceNam...
1    {u'TradeId': u'UUJ2X16', u'TradeSourceNam...
2    {u'TradeId': u'JJ35A12', u'TradeSourceNam...
In[220]: fff['Vals'][100]
Out[218]: 
{u'BrdsTraderBookCode': u'dffH',
 u'Measures': [{u'AssetName': u'Ie0',
   u'DefinitionId': u'6dbb',
   u'MeasureValues': [{u'Amount': -18.64}],
   u'ReportingCurrency': u'USD',
   u'ValuationId': u'669bb'}],
 u'SnapshotId': 12739,
 u'TradeId': u'17304M',
 u'TradeLegId': u'31827',
 u'TradeSourceName': u'xxxeee',
 u'TradeVersion': 1}

如何拆分
并创建一个新的
数据框
,这样我就可以得到一个列带有
TradeId
,另一个列带有
MeasureValues

以下是一种获取
TradeId
MeasureValues
的方法(使用上面两次示例行来说明迭代):

试试这个:

l=[]

for idx, row in df['Vals'].iteritems():
    temp_df = pd.DataFrame(row['Measures'][0]['MeasureValues'])
    temp_df['TradeId'] =  row['TradeId']
    l.append(temp_df)

pd.concat(l,axis=0)

我知道你已经口头描述了它,但是,你能展示一下你想要的输出样本吗。这将有助于澄清一些事情。你说“一行有TradeId,另一行有MeasureValues”-你是说两行分开?还是一行两列?或者一行多列表示可能的度量值我编辑了上面的文本以澄清:我指的是单独的列。请参阅更新的答案以解决布局澄清问题。这看起来不错,我如何简单地获取“MeasureValue”的值而不是[{'Amount'…?是否需要使用与
金额
对应的值调用列
MeasureValues
,或者
名称
金额
有效?