数据分析第二天

您所在的位置:网站首页 dataframe导入excel文件 数据分析第二天

数据分析第二天

#数据分析第二天| 来源: 网络整理| 查看: 265

1.pandas DataFrame部分

昨天讲了序列部分,今天来讲讲pandas的数据框,其实是昨天偷懒没写。环境还是一样,用spyder就好。

概念

数据框(DataFrame)用于存储多行和多列的数据集合,有点像Excel表格,它的不同列可以是不同的数据类型。

定义一个数据框

通过pandas的DataFrame函数通过字典来生成数据框,这个函数一般包含三个参数。 pandas.DataFrame(data=None,index=None,columns=None)

参数说明data数据用字典表示,默认为空index索引可以方便找到某个数据,默认为空columns数据中要使用的列,用于控制列的顺序,默认为空

下面就来生成一个数据框

import pandas as pd #定义数据框,通过data参数指定数据 dataframe=pd.DataFrame( data={ 'name':['a','b','c'], 'age':[20,22,29] } ) print(dataframe)

可以在变量框中点击dataframe看到生成的数据框的内容 在这里插入图片描述 如果需要自定义索引值,并且指定列的顺序就需要使用index,columns参数进行设置。

#通过index columns参数进行设置 df=pd.DataFrame( data={ 'name':['a','b','c'], 'age':[20,22,29] }, index=['first','second','third'], columns=['age','name'] )

在这里插入图片描述 可以看到索引行变成了我们设定的,而且列的顺序替换成我们设置的。

对DataFrame的增删改查 增添数据

使用append函数,添加的数据也要是数据框类型,第二个参数可以选择是否忽略新加入数据框的索引,默认是False不忽略。

#为df增加dataframe中的数据 df=df.append(dataframe)

在这里插入图片描述

#为df新增加一列数据 df['class']=[1,2,3,4,5,6]

在这里插入图片描述 记得新增加列的行数一定要与原本数据框的行数保持一致

删除数据

使用drop函数 pandas.DataFrame.drop(labels,axis=0,inplace=False,errors=‘raise’)

参数说明labels要删除数据行对应的索引,可以一个或者多个axis0代表index也就是行,1代表column也就是列inplace是否修改原来的数据框,默认为Falseerrorslabels不存在时是否报错,默认为raise也就是报错 #删除df索引为1的行 df=df.drop(1,axis=0) #删除df列名为name的列 df=df.drop('name',axis=1)

在这里插入图片描述 在这里插入图片描述

更改数据

修改数据框中的值,索引或者列名都可以直接通过改变对应的值,再重新赋值来完成改变。

#更改数据框中的值,索引,和列名 df.columns=['A','B'] df.index=[1,2,3,4,5] df.at[1,'A']=100

在这里插入图片描述

查找数据

一般我们数据分析对数据框进行查找时,一般会根据某些条件过滤再查找,这个过程也可以叫记录抽取。

#查找数据框中的值 print(df['A']) print(df.iloc[2])

在这里插入图片描述

DataFrame运算的使用 #DataFrame数据计算 #目标:生成一个数据框,先对它求平方,再对它进行四则运算,最后把结果放入数据框 data=pd.DataFrame( data={ 'A':[1,3,5,7,9] } ) data['B']=data.A.pow(2) data['add']=data.B+data.A data['sub']=data.B-data.A data['mul']=data.B*data.A data['div']=data.B/data.A

在这里插入图片描述

#使用iterrows函数返回每一行数据,并且添加列c作为A+B的结果 for index,r in data.iterrows(): print(index) print(r) print('---------------') c=[] for index,r in data.iterrows(): c.append(r['A']+r['B']) data['c']=c

在这里插入图片描述 在这里插入图片描述

2.数据的导入导出 数据导入

首先如果数据时以数据库的形式存放的话,只需要连接数据库,然后读取数据就可以了,我主要讲讲文件形式存放数据的导入方法。

csv文件的导入 csv文件是以逗号作为分隔符的一种纯文本文件 pandas导入csv文件主要用read_csv函数 常用的参数有filepath,sep,names,encoding。 filepath就是想要导入csv文件的路径,一般使用绝对路径,且用/或者\表示。 sep表示分隔符,一般csv文件默认是逗号。 names表示导入的列和指定列的顺序,默认按顺序导入所有列。 encoding表示文件编码,大多时候会让encoding=‘utf-8’。

txt文件的导入 txt文件也就是文本文件,应该是我们最常见的一种 导入txt文件我们一般用read_table函数 参数和read_csv函数中的一样 但是由于txt文件分隔符不确定,所以它的参数设置要比csv文件更准确,一般要设置好列名(names),分隔符(sep)和编码(encoding)

Excel文件的导入 Excel文件本身就很直观,而且也拥有计算,图标等功能 一般用pandas的read_excel函数来导入数据 它的参数只有路径名,读取的表格名,读取的列名,不过一般我们只用写好路径名就行了。

数据导出

我们处理完数据之后,想要把处理好的结果保存起来,就需要数据导出。 在pandas中我们用to_csv函数导出数据 参数和read_csv差不多一共有五个,文件路径,分隔符,索引,列名和编码 文件路径:记得最后写上.csv文件格式 分隔符:输出文件的分隔符,默认为逗号,也可以用制表符等等 索引:是否输出索引,默认为输出索引,如果不想要可以改为False 列名:是否输出列名,默认为输出列名 编码:默认为utf-8

3.总结

今天算是把昨天的任务都补上了,另外呢我也上传了我精心收集的一些关于python的学习资料,内容大概有将近4G,如果想学的小伙伴可以去下载,链接为 https://download.csdn.net/download/shelgi/11390809 希望大家能支持一下,毕竟收集这些资料我也花了不少精力和那啥嘛(不谈$,不然显得太俗,嘻嘻)。下次呢我会聊聊关于数据处理的内容,拜拜



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3