【问题标题】:How to transform an array of array to a simple array? [closed]如何将数组数组转换为简单数组? [关闭]
【发布时间】:2019-01-25 09:54:50
【问题描述】:

我正在尝试连接不同类型的列来创建我的数据框,但每个获得的数据框元素都是这样的:

[[259200.0] [259200.0] [259200.0]..., [260099.98] [260099.98] [260099.98]]

表示如果我的 DF 是一个矩阵,那么每个 DF[i,j] 就像上面的代码。

但我想得到一个包含所有子数组的数组,如下所示:

[259200.0 259200.0 259200.0 ... 260099.98 260099.98 260099.98]

我将添加图片以进一步阐明我的观点:

事实上,我是通过下一行来创建这个表的:

  `features2[i]=pd.DataFrame([[label[i], max[i], mean[i], Cost[1:]])#
   mydataset1=pd.concat([mydataset1,features2[i]], axis=0)`

成本已经是一个有 140 列的表,我想将它连接到其他三列,所以最后我会得到一个有 143 列和 N 行的 DF

【问题讨论】:

  • 问题是我仍然无法在 Dataframe 中合并它们
  • 我强烈建议你生成一个mcve

标签: python arrays dataframe


【解决方案1】:

我的回答假设您的数据类型是 NumPy 数组,从您的问题标题中可以清楚地看出。我只是将 np.array() 放在它周围以使其成为 NumPy 数组,因为我没有从中获得此结构的 DataFrame。

然后,你可以flatten你的嵌套数组为

data = np.array([[259200.0] [259200.0] [259200.0]..., [260099.98] [260099.98] [260099.98]])
new_data = data.flatten() 
# array([259200.  , 259200.  , 259200.  , 260099.98, 260099.98, 260099.98])

或使用ravel作为

new_data = data.ravel() 
# array([259200.  , 259200.  , 259200.  , 260099.98, 260099.98, 260099.98])

【讨论】:

    【解决方案2】:

    我假设输入为列表列表,而您希望输出为简单列表

    old_data = [[259200.0], [259200.0], [259200.0]]
    new_data = []
    for item in old_data:
        new_data.append(item[0])
    print new_data #[259200.0, 259200.0, 259200.0]
    

    【讨论】:

    • 对于真正的列表列表,推导式更符合 Pythonic。
    猜你喜欢
    • 2011-09-03
    • 2016-12-24
    • 2020-03-20
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 2013-08-23
    • 1970-01-01
    • 2016-02-05
    相关资源
    最近更新 更多