【问题标题】:Python dictionary with multiple lists in to pandas dataframe带有多个列表的 Python 字典到 pandas 数据框中
【发布时间】:2017-11-01 17:09:17
【问题描述】:

我正在尝试将具有多个列表值和一个字符串的字典放入一个数据框中。

这是我试图进入数据框的信息:

{'a': ['6449.70000', '1', '1.000'],
 'b': ['6446.40000', '1', '1.000'],
 'c': ['6449.80000', '0.04879000'],
 'h': ['6449.90000', '6449.90000'],
 'l': ['6362.00000', '6120.30000'],
 'o': '6442.30000',
 'p': ['6413.12619', '6353.50910'],
 't': [5272, 16027],
 'v': ['1299.86593468', '4658.87787321']}

由键“a”表示的 3 个值都有自己的名称,例如 a1、a2 和 a3,然后是 b1、b2 和 b3.. 最好我想自己定义它们。这适用于所有信息。所以应该有19列。

我已经阅读了很多关于此的内容。

基于这些读数,我认为我可以使用 for 循环遍历它,构建单独的数据帧,然后加入/合并它们。但这似乎比我认为需要更多的工作。

使用 Python 3.6 执行此操作的最有效/可读/逻辑方法是什么?

【问题讨论】:

  • 你能证明你想要的结果是什么吗?

标签: python pandas dictionary


【解决方案1】:

在纯 Python 中进行清理:

colnames = []
values = []
for key,value in d.iteritems():
    if type(value) == list:
        for c in range(len(value)):
            colnames.append(key + str(c+1))
        values += value
    else:
        colnames.append(key + '1')
        values.append(value)

df = pd.DataFrame(values, index = colnames).T

【讨论】:

    猜你喜欢
    • 2017-05-02
    • 2013-09-12
    • 2016-04-07
    • 2017-03-28
    • 2022-08-18
    • 1970-01-01
    • 2017-03-01
    相关资源
    最近更新 更多