如何将字典列表导入为numpy数组

时间:2017-11-06 22:16:39

标签: python csv numpy dictionary genfromtxt

我有以下表格的词典列表:

[[{'x': 33, 'y': 69, 'z': 870}, {'x': 33, 'y': 69, 'z': 870}],[{'x': 33, 'y': 64, 'z': 876}]]

此数据以.csv文件的形式显示。我需要将它作为NumPy数组导入Python。请帮忙!

2 个答案:

答案 0 :(得分:1)

让我们使用pd.concat和pd.DataFrame:

import pandas as pd
l = [[{'x': 33, 'y': 69, 'z': 870}, {'x': 33, 'y': 69, 'z': 870}],[{'x': 33, 'y': 64, 'z': 876}]]
pd.concat([pd.DataFrame(i) for i in l]).values

输出:

array([[ 33,  69, 870],
       [ 33,  69, 870],
       [ 33,  64, 876]], dtype=int64)

答案 1 :(得分:0)

给出您的示例文本:

numpy

这是3个列表的列表。子列表包含2或1个词典。我可以看到遍历字典以将值合并到一个字典中。例如,一个具有3个键,以及一个类似的嵌套值列表。它不能是常规的Out[819]数组。

只是阅读In [825]: dd = {'x': [[1,1],[5],[15,12]], 'y':[[4,2],[1],[44,22]], 'z':[[6,8],[6 ...: ],[6,56]]} In [826]: dd Out[826]: {'x': [[1, 1], [5], [15, 12]], 'y': [[4, 2], [1], [44, 22]], 'z': [[6, 8], [6], [6, 56]]} ,我希望我们可以生成:

dynamic_hash() {
    # insert hash generation logic
    echo '-12345678k9'
}

if stat -t -- index$(dynamic_hash).html >/dev/null 2>&1; then
    echo 'passed'
else
    echo 'not passed'
fi

我不会深入研究列表和词典的迭代细节。没有什么比这更棘手或更先进,只是有点单调乏味。

有关合并字典值的更多信息

Python: Concatenate many dicts of numpy arrays with same keys and size