将3个二维数组转换为数据框

时间:2019-01-06 13:57:03

标签: python pandas dataframe

我有3个二维数组,它们都具有以下形状。

  

(1,4339)

它们被称为:

array1

array2

array3

如何将它们放入数据框中,因此具有以下格式:

expected dataframe

我认为类似以下的方法会起作用:

df = pd.concat([array1, array2, array3], axis=1)

但是我收到以下错误消息:

  

TypeError:无法连接类型为“”的对象;仅pd.Series,pd.DataFrame和pd.Panel   (已弃用)objs有效

2 个答案:

答案 0 :(得分:1)

import pandas as pd
df = pd.DataFrame({"a":arr1.reshape(4339),"b":arr2.reshape(4339),"c":arr3.reshape(4339)})

您可以使用它。

答案 1 :(得分:0)

就像其他人所说的那样,从头开始构建一个数据帧。

一个问题是原始数组的形状,请查看如果对原始数据进行pd.Series(array1)会发生什么情况。

您可以在此处使用一些基础来制作可重用的功能……

a = np.arange(5).reshape((1,5))
pd.DataFrame({k: a.flatten() for k, a in zip('abc', (a, a, a))})