小码王教育-由经验丰富IT教育创立,专注于6-17岁青少儿编程教育。小码王课程实行分层教学模式,低年级采用国际广泛使用的Scratch编程学习平台,高年级学生有C/C++、HTML5、Python、Java等多层级课程解决方案,借助科学的教育理念、雄厚的研发和师资力量、专业的科技教育能力,让中国青少年掌握人工智能时代必备编程技能,给学生一个新的思考方式,成就不一样的未来!(以下内容仅供参考,不分先后,大家自行选择)
1.广州小码王教育
2.广州童程童美教育
3.广州乐博乐博机器人培训
4.广东vip少儿编程教育
5.广东码高教育
6.广州凤凰机器人
7.广州编程猫
8.广州笋尖教育
9.广州密码营地少儿编程
10.广州粤嵌小创客教育
读取数据可以方便我们的工作,python中常见的数据读取方式有很多,那么python如何读取数据呢?一起来了解下吧:
python如何读取数据
利用pandas中的read_csv模块直接将数据读取出来。
data=pd.read_csv('/home/nw/Desktop/dataset/iris.txt',header=None)
1.上面的代码,read_csv中前面的是数据集存放的路径,后面的header很重要,经常以为少了header,数据的总量减小了1,因为少掉的那一行数据变成了DataFrame里面的列索引。
2.还有一种是比较传统的方法,直接用open打开文件,把文件里面的信息先取出来,不管取出来是什么样子的,线取出来再说,想要作什么处理直接对取出的变量做处理即可。
f=open('/home/nw/Desktop/dataset/iris.txt','rb')
dataset=pickle.load(f)#这种方法适用于自己存取自己的数据,有时候在读取别人的数据的时候是不行的,因为别人存数据的方式不一定是用pickle.dump的方式存数据的。
f=open('/home/nw/Desktop/dataset/iris.txt')
'''
注意这里的open后面较好不要加上其他的读取方式,不需要‘rb’之类的读取方式。因为在后续的数据处理中可能还需要将二进制的数据转换成自己想要的个数。
'''
lines=f.readlines()
'''
现在lines中已经包含了所有的数据信息,我们想要得到的数据格式都可以基于lines做处理。如我读出的iris数据格式是一个列表的形式,使用len(lines)得到列表中元素的个数是151,打印出lines,可以看到lines中每个元素都是一个字符串,并且每个字符串后面都有''的换行字符,较后一行是空行,所以较后一行是多余,并且要去掉每行中的''
'''
arr=[]
for i in range(len(lines)):
if lines!='':
arr.append(lines)
for i in range(len(arr)):
arr=arr.strip('')#将每行的''脱去
有一种情况是用pandas读出来的数据,每一行是一个字符串的形式,而且将全部的列都整合在一行的字符串里面了,这样读取出来的数据是有误的,我们需要使用到的参数是:
delim_whitespace:boolean,default False.
指定空格(例如’‘或者’‘)是否作为分隔符使用,等效于设定sep=’s+’。如果这个参数设定为Ture那么delimiter参数失效。
如需要载入uci数据集中的auto-mpg.txt文件,如果使用
pd.read_csv(path,header=None)读出来的结果将是一行一行的字符串,如果添加参数delim_whitespace=True,那么就会得到想要的pandas格式
pd.read_csv(path,header=None,delim_whitespace=True)
如果数据之间不是按照空格来分列的,是按照‘,’来分隔的,那么我们就不用参数delim_whitespace这个参数作为分隔符,用sep=‘,’
pd.read_csv(path,header=None,sep=‘,’)