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)<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'>

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值