从元组中的字典创建数据框

Posted

技术标签:

【中文标题】从元组中的字典创建数据框【英文标题】:Creating a dataframe from a dictionary within tuple 【发布时间】:2020-03-21 00:27:56 【问题描述】:

我在一个元组中有一个字典,我想知道如何访问它并创建一个数据框,将字典值合并到单行中

Example:

('Id': '4', 'BU': 'usa', 'V_ID': '44', 'INV': 'inv1331', 'DT': '08/1/19', 'AMT': '1500', 'Id': '9', 'BU': 'usa', 'V_ID': '44', 'INV': 'inv4321', 'DT': '02/6/19', 'AMT': '1000')

Expected Result:

Id_1  BU_1  V_ID_1  INV_1     DT_1    AMT_1   Id_2  BU_2  V_ID_2  INV_2    DT_2     AMT_2  
---------------------------------------------------------------------------------------------
4     usa    44   inv1331   08/1/19  1500     9     usa    44    inv4321   02/6/19  1000

【问题讨论】:

您可以使用csv 模块将字典列表导出到csv文件中...... 您可以首先编写一个函数,将这样的字典元组转换为单个字典。无论如何,你尝试过什么,你在哪里卡住了? 【参考方案1】:
x = ('Id': '4', 'BU': 'usa', 'V_ID': '44', 'INV': 'inv1331', 'DT': '08/1/19', 'AMT': '1500', 'Id': '9', 'BU': 'usa', 'V_ID': '44', 'INV': 'inv4321', 'DT': '02/6/19', 'AMT': '1000')

data = f"k_i+1": v for i, d in enumerate(x) for k, v in d.items()

df = pd.DataFrame(data, index = [0])

输出:

>>> df
  Id_1 BU_1 V_ID_1    INV_1     DT_1  ... BU_2 V_ID_2    INV_2     DT_2 AMT_2
0    4  usa     44  inv1331  08/1/19  ...  usa     44  inv4321  02/6/19  1000

[1 rows x 12 columns]

【讨论】:

这表明您有一个包含元组而不是字典的元组或列表。你确定你的 x 变量看起来和我的例子一样吗? 别担心,很高兴你把它整理出来:)

以上是关于从元组中的字典创建数据框的主要内容,如果未能解决你的问题,请参考以下文章

如果键匹配,如何从元组中提取一个值

从元组中提取向量

如何从元组数组创建字典?

从元组中提取向量

从元组的元组中创建一个列表

我可以像在 for 循环中从数组中索引项目一样从元组中检索项目吗?