如何将数组转换为简单数组?

2024-05-17 12:47:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试连接不同类型的列以创建我的数据帧,但数据帧的每个获取元素如下所示:

[[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]

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

Here is my final DF

实际上,我正在通过下一行创建此表:

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

Cost已经是一个包含140列的表,我想将它连接到其他三列,因此在最后我将得到一个包含143列和N行的DF


Tags: 数据代码元素类型dataframedf图片矩阵
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]

我的回答假设您的数据类型是NumPy数组,这从您的问题标题中可以清楚地看出。我只是把np.array()放在它周围,使它成为一个NumPy数组,因为我没有从中获得这个结构的数据帧。你知道吗

然后,您可以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])

相关问题 更多 >