Dataframe和ndarray相互转换
读取文件数据时通常得到的是dataframe格式的,如通过pd.read_csv。有时需要将dataframe格式的数据转换成ndarray的数组形式。ndarray:NumPy中的ndarray是一个多维数组对象,里面的数组多是同质的。Dataframe :pandas中处理数据的二维数组表结构。优势在于可以方便地处理不同类型的列。ndarray转Dataframe :直接用pd.Datafra
读取文件数据时通常得到的是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)<type 'numpy.ndarray'>
# <class 'pandas.core.frame.DataFrame'>
方式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)<type 'numpy.ndarray'>
# <class 'pandas.core.frame.DataFrame'>
更多推荐
所有评论(0)