Python加载文件内容的两种实现方式_第1页
Python加载文件内容的两种实现方式_第2页
Python加载文件内容的两种实现方式_第3页
Python加载文件内容的两种实现方式_第4页
Python加载文件内容的两种实现方式_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第Python加载文件内容的两种实现方式目录一、利用open()函数进行加载二、利用Pandas库中的read_csv()方法进行加载三、示例说到机器学习,大家首先想到的可能就是Python和算法了,其实光有Python和算法是不够的,数据才是进行机器学习的前提。

大多数的数据都会存储在文件中,要想通过Python调用算法对数据进行相关学习,首先就要将数据读入程序中,本文介绍两种加载数据的方式,在之后的算法介绍中,将频繁使用这两种方式将数据加载到程序。

下面我们将以LogisticRegression模型加载数据为例,分别对两种不同的加载数据的方式进行介绍。

一、利用open()函数进行加载

defload_file(file_name):

利用open()函数加载文件

:paramfile_name:文件名

:return:特征矩阵、标签矩阵

f=open(file_name)#打开训练数据集所在的文档

feature=[]#存放特征的列表

label=[]#存放标签的列表

forrowinf.readlines():

f_tmp=[]#存放特征的中间列表

l_tmp=[]#存放标签的中间列表

number=row.strip().split("\t")#按照\t分割每行的元素,得到每行特征和标签

f_tmp.append(1)#设置偏置项

foriinrange(len(number)-1):

f_tmp.append(float(number[i]))

l_tmp.append(float(number[-1]))

feature.append(f_tmp)

label.append(l_tmp)

f.close()#关闭文件,很重要的操作

returnnp.mat(feature),np.mat(label)

二、利用Pandas库中的read_csv()方法进行加载

defload_file_pd(path,file_name):

利用pandas库加载文件

:parampath:文件路径

:paramfile_name:文件名称

:return:特征矩阵、标签矩阵

feature=pd.read_csv(path+file_name,delimiter="\t",header=None,usecols=[0,1])

feature.columns=["a","b"]

feature=feature.reindex(columns=list('cab'),fill_value=1)

label=pd.read_csv(path+file_name,delimiter="\t",header=None,usecols=[2])

returnfeature.values,label.values

三、示例

我们可以使用上述的两种方法加载部分数据进行测试,数据内容如下:

数据分为三列,前两列是特征,最后一列是标签。

加载数据代码如下:

'''

两种方式加载文件

importpandasaspd

importnumpyasnp

defload_file(file_name):

利用open()函数加载文件

:paramfile_name:文件名

:return:特征矩阵、标签矩阵

f=open(file_name)#打开训练数据集所在的文档

feature=[]#存放特征的列表

label=[]#存放标签的列表

forrowinf.readlines():

f_tmp=[]#存放特征的中间列表

l_tmp=[]#存放标签的中间列表

number=row.strip().split("\t")#按照\t分割每行的元素,得到每行特征和标签

f_tmp.append(1)#设置偏置项

foriinrange(len(number)-1):

f_tmp.append(float(number[i]))

l_tmp.append(float(number[-1]))

feature.append(f_tmp)

label.append(l_tmp)

f.close()#关闭文件,很重要的操作

returnnp.mat(feature),np.mat(label)

defload_file_pd(path,file_name):

利用pandas库加载文件

:parampath:文件路径

:paramfile_name:文件名称

:return:特征矩阵、标签矩阵

feature=pd.read_csv(path+file_name,delimiter="\t",header=None,usecols=[0,1])

feature.columns=["a","b"]

feature=feature.reindex(columns=list('cab'),fill_value=1)

label=pd.read_csv(path+file_name,delimiter="\t",header=None,usecols=[2])

returnfeature.values,label.values

if__name__=="__main__":

path="C://Users//Machenike//Desktop//xzw//"

feature,label=load_file(path+"test.txt")

feature_pd,label_pd=load_file_pd(path,"test.txt")

print(feature)

print(feature_pd)

print(label)

print(label_pd)

测试结果:

[[1.1.434812734.54377111]

[1.5.804446037.72222239]

[1.2.897378034.84582798]

[1.3.488968279.42538199]

[1.7.989901819.38748992]

[1.6.079119687.81580716]

[1.8.549889389.83106546]

[1.1.862531473.64519173]

[1.5.092646497.16456405]

[1.0.640487342.96504627]

[1.0.445682677.27017831]]

[[1.1.434812734.54377111]

[1.5.804446037.72222239]

[1.2.897378034.84582798]

[1.3.488968279.42538199]

[1.7.989901819.38748992]

[1.6.079119687.81580716]

[1.8.549889389.83106546]

[1.1.862531473.64519173]

[1.5.092646497.16456405]

[1.0.640487342.96504627]

[1.0.445682677.27017831]]

[[0.]

[0.]

[0.]

[0.]

[0.]

[0.]

[0.]

[0.]

[0.]

[0.]

[0.]]

[[0]

[0]

[0]

[0]

[0]

[0]

[0]

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论