如何将多个序列组合成一个数组或一列数据框?

时间:2019-08-27 19:14:53

标签: python pandas series

我想标准化每组的分数。在缩放数据后,它返回了一个序列。我无法在数据框中创建新列并将结果放入其中。

我得到的结果是:

  • 3M公司[[1.0],[1.0],[0.9]]
  • A.O。史密斯公司[[1.0],[0.85]]
  • AES Corp [[1.0],[0.5]]

result I got

我想要的结果是:

  • [1.0、1.0、0.9、1.0、0.85、1.0、0.5]

在这种情况下,我可以将其放入数据框中的新列。谁能帮我?谢谢!!

2 个答案:

答案 0 :(得分:0)

您有一系列要展平的列表。这与this question有关,除了您还有一层嵌套列表。

您将不得不遍历系列中的每个项目并将其展平。使用列表理解:

dd = pandas.Series(
    data=[
        [[1.0], [1.0], [0.9]],
        [[1.0], [0.85]],
        [[1.0], [0.5]]
    ],
    index=['3M Company', 'A.O. Smith Corp', 'AES Corp']
)
flattened = [item[0] for row in dd for item in row]

结果

[1.0, 1.0, 0.9, 1.0, 0.85, 1.0, 0.5]

答案 1 :(得分:0)

self.panels