通过唯一整数将numpy数组值添加为DataFrame的列

时间:2018-11-19 11:15:48

标签: python pandas numpy dictionary data-science

如果我有一个充满整数的3xn numpy数组,我如何像这样轻松地将这些整数添加到DataFrame中:

输入:

a = np.array(array([[2,10, 8],[2,9,4],[8,2,2],[8,9,10],[2,3,8]])

输出:

首先创建空的DataFrame,将列作为numpy数组中的每个唯一整数。

在此新DataFrame的每一行中,我需要将numpy数组中的每一行附加到唯一列。每个新的整数都应变成一列,分别包含整行。

在到达数组中的[2,3,8]之前应该看起来像这样:

Column:    2       4       8        9       10
R      |[2,9,4]|[8,2,2]|[2,9,4] |[8,2,2]| [2,9,4] |
O       [8,2,2]         [2,3,8]  [2,3,8]  [2,3,8]
W:      [8,9,10]        

由于numpy数组中的最后一个条目中包含3,而列列表中还没有3,因此我想为此添加一个新列。

例如,如果数组[2,3,8]之后的下一项是[1,89,2],则DataFrame现在应如下所示:

Column:    2       4       8        9       10         3        1     89
R      |[2,9,4]|[8,2,2]|[2,9,4] |[8,2,2]| [2,9,4] | [1,89,2] |     |     |
O       [8,2,2]         [2,3,8]  [2,3,8]  [2,3,8]
W:      [8,9,10]        [1,89,2]
        [1,89,2]        [8,9,10]
现在将

1和89创建为等待numpy数组中下一项的行。

然后,第1、89和2列将包含下一项,依此类推。希望这更加清楚。

从技术上讲,我不在乎数据的存储方式,起初我假设是一个字典,但是现在看一下DataFrame更有意义。如果列表,字典或其他我不知道的功能有更好的方法,请立即告诉我是否可行。

第二次编辑:

对不起,这些家伙。

1 个答案:

答案 0 :(得分:0)

dict1={'2':[[2,9,4],[8,2,2]],'4': [[8,2, 2],[8,9,10]],'8':[[2,9,4],[1,89,2]],'9':[[8,2,2],[2,3,8]],'10': [[2,9,4],[2,3,8]],'3': [[1,89,2],[2,3,8]]}

df3=pd.DataFrame(dict1)

我认为这会对您有所帮助