Python将大numpy数组转换为数据帧
我收到了一段代码,这些代码只适用于作为输入的熊猫数据帧。我现在有一个相当大的numpy数组。我需要把它转换成一个数据帧 数据帧将是288行(289列计算列名称)和1801列。我有一个大小为1801的数组,它将是数据帧中的所有列名。然后我有一个大小为(288)的数组,它将填充第一列。然后我有一个形状数组(1800288),它将填充第2-1801列。有没有一种简单的方法可以在不单独定义所有1801列的情况下将其转换为数据帧Python将大numpy数组转换为数据帧,python,arrays,pandas,numpy,dataframe,Python,Arrays,Pandas,Numpy,Dataframe,我收到了一段代码,这些代码只适用于作为输入的熊猫数据帧。我现在有一个相当大的numpy数组。我需要把它转换成一个数据帧 数据帧将是288行(289列计算列名称)和1801列。我有一个大小为1801的数组,它将是数据帧中的所有列名。然后我有一个大小为(288)的数组,它将填充第一列。然后我有一个形状数组(1800288),它将填充第2-1801列。有没有一种简单的方法可以在不单独定义所有1801列的情况下将其转换为数据帧 我知道我可以定义像column2=array[0,:],column3=ar
我知道我可以定义像column2=array[0,:],column3=array[1,:]这样的列,但对于1801列来说,这将是一项艰巨的工作。您可以将numpy数组直接传递给DataFrame构造函数:
In [11]: a = np.random.rand(3, 5)
In [12]: a
Out[12]:
array([[ 0.46154984, 0.08813473, 0.57746049, 0.42924157, 0.34689139],
[ 0.29731858, 0.83300176, 0.15884604, 0.44753895, 0.56840054],
[ 0.02479636, 0.76544594, 0.24388046, 0.06679485, 0.94890838]])
In [13]: pd.DataFrame(a)
Out[13]:
0 1 2 3 4
0 0.461550 0.088135 0.577460 0.429242 0.346891
1 0.297319 0.833002 0.158846 0.447539 0.568401
2 0.024796 0.765446 0.243880 0.066795 0.948908
In [14]: pd.DataFrame(a.T)
Out[14]:
0 1 2
0 0.461550 0.297319 0.024796
1 0.088135 0.833002 0.765446
2 0.577460 0.158846 0.243880
3 0.429242 0.447539 0.066795
4 0.346891 0.568401 0.948908
您可以将numpy数组直接传递给DataFrame构造函数:
In [11]: a = np.random.rand(3, 5)
In [12]: a
Out[12]:
array([[ 0.46154984, 0.08813473, 0.57746049, 0.42924157, 0.34689139],
[ 0.29731858, 0.83300176, 0.15884604, 0.44753895, 0.56840054],
[ 0.02479636, 0.76544594, 0.24388046, 0.06679485, 0.94890838]])
In [13]: pd.DataFrame(a)
Out[13]:
0 1 2 3 4
0 0.461550 0.088135 0.577460 0.429242 0.346891
1 0.297319 0.833002 0.158846 0.447539 0.568401
2 0.024796 0.765446 0.243880 0.066795 0.948908
In [14]: pd.DataFrame(a.T)
Out[14]:
0 1 2
0 0.461550 0.297319 0.024796
1 0.088135 0.833002 0.765446
2 0.577460 0.158846 0.243880
3 0.429242 0.447539 0.066795
4 0.346891 0.568401 0.948908