将numpy数组转换为pandas dataframe
时间:2020-02-23 14:42:12 来源:igfitidea点击:
在本教程中,我们将看到如何将Numpy数组转换为Pandas DataFrame。
我们可以使用DataFrame的Contructor从Numpy阵列中创建Pandas DataFrame。
这个构造函数需要 data
那 index
那 columns
和 dtype
作为参数。
pd.DataFrame(data, index, columns, dtype)
使用numpy数组创建DataFrame
如果我们没有通过数据分开的任何其他参数,则会获取ndArray类型的DataFrame,因此这就是如何将Numpy.ndArray转换为DataFrame的方式。
import numpy as np import pandas as pd nArray = np.arange(6).reshape(2,3)</p> <p>print("-------Original ndarray-------\n",nArray)</p> <p>df = pd.DataFrame(nArray) print("-------Converted DataFrame-------\n",df)
输出:
-------Original ndarray------ [[0 1 2] [3 4 5]] -------Converted DataFrame------ 0 1 2 0 0 1 2 1 3 4 5
使用数据,索引和列创建DataFrame
我们可以指定 index
那 column
和 dtype
以及将numpy.ndarray转换为dataframe。
import numpy as np import pandas as pd nArray = np.arange(6).reshape(2,3)</p> <p>print("-------Original ndarray-------\n",nArray)</p> <p>df = pd.DataFrame(nArray,index= ['One','Two'], columns=['C1','C2','C3'])</p> <p>print("-------Converted DataFrame-------\n",df)
输出:
-------Original ndarray------ [[0 1 2] [3 4 5]] -------Converted DataFrame------ C1 C2 C3 One 0 1 2 Two 3 4 5
创建后更改DataFrame列
我们可以在创建DataFrame列后更改DataFrame列。
这是一个例子:
import numpy as np import pandas as pd nArray = np.arange(6).reshape(2,3)</p> <p>print("-------Original ndarray-------\n",nArray)</p> <p>df = pd.DataFrame(nArray,index= ['One','Two'], columns=['C1','C2','C3']) df.columns=['Col1','Col2','Col3'] print("-------Converted DataFrame-------\n",df)
输出:
-------Original ndarray------ [[0 1 2] [3 4 5]] -------Converted DataFrame------ Col1 Col2 Col3 One 0 1 2 Two 3 4 5
将numpy数组添加为pandas dataframe的新列
如果我们想要将Numpy数组添加为Pandas DataFrame的新列,我们可以使用pd.concat()方法如下所示:
import numpy as np import pandas as pd df = pd.DataFrame({'a':[10,20],'b':[30,40]}) nArray = np.arange(6).reshape(2,3)</p> <p>df = pd.concat([df, pd.DataFrame(nArray)], axis=1)</p> <p>print("-------Converted DataFrame-------\n",df)
输出:
-------Converted DataFrame------ a b 0 1 2 0 10 30 0 1 2 1 20 40 3 4 5
如我们所见,3个新的列已添加到现有的DataFrame中。