我试图将不同类型的列连接起来以创建我的数据框,但是每个获得的数据框元素都是这样的:
[[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。
答案 0 :(得分: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])
答案 1 :(得分:0)
flat_list = [item for sublist in l for item in sublist]
您还可以遍历列表列表并合并它们。
lists = [[259200.0] [259200.0] [259200.0]..., [260099.98] [260099.98] [260099.98]]
merged_list = []
for l in lists:
merged_list += l
print(merged_list)
[259200.0 259200.0 259200.0 ... 260099.98 260099.98 260099.98]
尝试此代码,它将解决您的问题。谢谢:)
答案 2 :(得分:0)
我假设输入为列表列表,而您想将输出作为简单列表
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]