将带有dicts的元组列表转换为pandas Dataframe

5fjcxozz  于 2023-06-20  发布在  其他
关注(0)|答案(1)|浏览(105)

我有一个包含字典的元组列表,我想将其解析为pandas dataframe。

[
 (
  {'resource': 'Observation1', 'date': '2021-06-01 11:39:00', 'code': '15848'}, 
  {'date': '2021-04-14 00:00:00','resource': 'Observation2'}
 ),
 (
  {'resource': 'Observation1', 'date': '2011-04-01 11:39:00', 'code': '15848'}, 
  {'date': '2012-06-15 00:00:00','resource': 'Observation2'}
 ),
]

生成的dataframe如下所示:

x_resource      x_date                x_code   y_date                y_resource       
Observation 1   2021-06-01 11:39:00   15848    2021-04-14 00:00:00   Observation 2
Observation 1   2011-04-01 11:39:00   15848    2012-06-15 00:00:00   Observation 2

我已经尝试使用pd.MultiIndex.from_tuples,但它不能处理元组中的dicts...
有什么建议可以解决这个问题吗?谢谢你的帮助!

oxcyiej7

oxcyiej71#

对我来说,这段代码工作得很好。我想这对你解决这个问题会有帮助。

import pandas as pd

data = [
    (
        {'resource': 'Observation1', 'date': '2021-06-01 11:39:00', 'code': '15848'},
        {'date': '2021-04-14 00:00:00', 'resource': 'Observation2'}
    ),
    (
        {'resource': 'Observation1', 'date': '2011-04-01 11:39:00', 'code': '15848'},
        {'date': '2012-06-15 00:00:00', 'resource': 'Observation2'}
    ),
]

df = pd.DataFrame(data, columns=['x', 'y'])
df = pd.concat([df['x'].apply(pd.Series).add_prefix('x_'), df['y'].apply(pd.Series).add_prefix('y_')], axis=1)

print(df)

相关问题