Dataframe和ndarray相互转换

读取文件数据时通常得到的是dataframe格式的,如通过pd.read_csv。有时需要将dataframe格式的数据转换成ndarray的数组形式。

ndarray: NumPy中的ndarray是一个多维数组对象,里面的数组多是同质的。

Dataframe :  pandas中处理数据的二维数组表结构。优势在于可以方便地处理不同类型的列。

 

ndarray转Dataframe : 

直接用pd.Dataframe,如 dataDf=pd.DataFrame(np.arange(12).reshape(3,4)) 

Dataframe 转换为ndarray:

方式1 : as_matrix

import pandas as pd
import numpy as np 
dataDf=pd.DataFrame(np.arange(12).reshape(3,4)) 
dataNd=dataDf.as_matrix() # 方式1
print("datadf数据为:\n{}\n ndarray数据为\n{},type(dataNd){}".format(dataDf,dataNd,type(dataNd)))
print(type(dataDf))

结果显示:  

datadf数据为:
#    0  1   2   3
# 0  0  1   2   3
# 1  4  5   6   7
# 2  8  9  10  11
#  ndarray数据为
# [[ 0  1  2  3]
#  [ 4  5  6  7]
#  [ 8  9 10 11]],type(dataNd)
#   

方式2 :  .values

# 方式2 直接values
import pandas as pd
import numpy as np 
dataDf=pd.DataFrame(np.arange(12).reshape(3,4))
dataNd=dataDf.values # 方式2 注意没有括号
print("datadf数据为:\n{}\n ndarray数据为\n{},type(dataNd){}".format(dataDf,dataNd,type(dataNd)))
print(type(dataDf))

显示为: 

datadf数据为:
#    0  1   2   3
# 0  0  1   2   3
# 1  4  5   6   7
# 2  8  9  10  11
#  ndarray数据为
# [[ 0  1  2  3]
#  [ 4  5  6  7]
#  [ 8  9 10 11]],type(dataNd)
#

 

 

你可能感兴趣的:(特征工程与数据分析)