pandas 数据处理(pandas数据分析函数)
pandas 数据处理(pandas数据分析函数),本文通过数据整理汇集了pandas 数据处理(pandas数据分析函数)相关信息,下面一起看看。
人们经常用熊猫来处理表格数据,经常需要读入excel表格数据。很多人一般直接用:pd.read_excel(“文件路径文件名”)。再多一点设定可能是为了躲避路径中的斜线。一旦原来的Excel表格不是很规则,这样简单的读取势必会出错!
其实这个函数有很多参数可以设置。为了满足读取各种excel表格的需要,下面我们详细了解一下pd.excel()中的主要参数。
首先了解一下pd.read_Excel()。功能的官方文档是这样说的:将Excel文件读入pandas DataFrame,支持本地文件系统或URL的' xls '和' xlsx '文件扩展名。该函数可以处理具有这两种扩展名的文件;
那么它的功能的完整版本是这样的:
没想到,它,它,它……它居然有20多个参数。是不是有点出乎意料?让我们知道这些参数是干什么用的!
Io参数
可接受的io参数有:str、Excel文件、xlrd。书,路径对象或者类文件对象,其中str是最常用的一种,一般是文件路径文件名。需要注意的是,文件名中不能遗漏后缀,也就是表示文件类型的文件扩展名!有时需要对路径中的“”进行转义。io参数没有默认值,必须传入。
例如:
输出结果:
工作表名称参数
sheet_name的参数可以是str、int、list或者None,默认值为0。
其中字符串用作工作表名称。用于零索引工作表位置的整数。字符串/整数列表用于请求多个工作表。设置“无”以获取所有工作表。
有时,一个excel工作簿包含许多工作表。如果不指定默认值0,默认情况下,读入数据时会读入第一张工作表。
常用的是指定工作表的位置或名称,例如:
输出与未指定工作表时的输出相同,因为默认值是第0张工作表:
在另一个位置指定图纸:
输出结果:
输出,可以看到结果与sheet_name=1的结果相同:
您可以查看原始表中的工作表名称,以了解名为data2的工作表位于第一个位置(名为data1的工作表位于第0个位置)。
这里就不赘述了,看另一张点名。我们来看看这个参数,可以接收的对象有两种。我们一个一个来看看是什么样的效果。
sheet_name参数的其他设置
输出结果:
输出结果:
可以看到,与上面只读取两个sheet工作表的命令相比,这里多了data3工作表!
总之,sheet_name的空值可以通过工作表位置或工作表名称来指定要读入的工作表数据。
参数标题
此参数用于指定哪一行用作列名。默认值是第0行。接收到的参数可以是整数(指定哪一行为列名)或者整数列表(指定哪一行为列名?是的,列名可以有多行。是不是有点认知上的突破?),或者无(无列名)。
例如,这类数据在读入数据时需要指定哪一行作为列名:
开头有一个空行,看一下试试就知道了:
就是这个效果(捕捉部分数据图像):
header参数可以有效解决这个问题。可以看出,行标签为1的数据就是我们需要的列名,所以在读取数据时设置它就足够了:
输出结果:
这个符合要求!
割台参数的其他设置
为了满足我们的好奇心,我们还试验了其他参数,比如一个整数列表,这些参数可以提前预测,读数可能不符合业务逻辑要求。
输出结果:
看得出来确实有两个名字!
不想上市怎么办?
输出结果:
如果不指定列名,就会发生这种情况!
Names参数
官方文档说这个参数接收array-like,默认是None,表示要使用的列名列表。如果不需要列名,请设置header=None。如果同时设置了header=None和names参数,则仍将显示由names指定的列名。
我们通过例子感受一下参数的作用。为了节省空间,代码放在截图中:
如果原表中的列名不符合要求,比如上图中的列名明显是系统汇总后生成的,那么在读入数据时可以根据要求自定义列名。需要注意的是,指定的列名和原始数据中的列名是按照位置一一对应的,不要乱序!
参数索引_列
官方文档说这个参数接受整数,或者整数列表,默认是None。
此参数的作用是指定哪一行用作行索引。如果将整数N传递给参数,则意味着将第N列指定为行索引;如果传入了列表,这意味着需要将多个列指定为行索引。上一篇文章介绍了header参数,它指定哪一行作为列名,它也是一个传入整数或整数的列表,可以与内存进行比较。
举个例子感受一下:
上例中使用了默认值None,integer 0和list [0,1]来设置index_col,用法和效果一目了然。
Usecols参数
看看官方文档是怎么说的:这个参数接受整数,字符或者类似于列表的序列。默认值为None,它返回列的子集。直截了当的解释是,在读入表时,并不是所有的列都会被读入。您可以使用usecols参数设置要读入的列。
如果为None,则表示将读取所有列。如果是整数,表示读入的最后一列。例如,如果将整数N传递给usecols,那么最后读入的列是第0到第N列。注意,不仅第n列被读入。如果只想看一列呢?别急,继续往下看。如果是列表,则表示选择指定的列进行读取。例如,如果您只想读取第n列,可以使用cols=[n]。如果是多列,将多个整数放在一个列表中,并将它们传递给参数。需要注意的是,不仅整数可以传入列表,字段名列表也可以。
提示:如果设置了names参数,请注意设置的列名数和读取的列数。
我们举个直观的例子来感受一下:
结合参数的文字描述看例子就很清楚了。
挤压参数
来自官方文档的解释:接收一个布尔值,当值为True时,如果解析的数据只包含一列,则返回Series。默认值为False,即只有一列也返回Dataframe。
示例:
如果需要读入一个系列,可以通过挤压参数来完成。
数据类型参数
也是官方文件的解释:输入表示数据类型的名称字符或字典。如果输入了字符,则表示整个表的数据被转换为指定的数据类型。如果输入了字典,那么每个字段可以指定不同的数据类型。
这里有一个例子可以帮助理解:
因为整个表中既有文本又有数值,如果要设置为统一的数据类型,只能设置为字符类型;为每列设置不同的数据类型有明显的效果。
由于篇幅限制,pd.read_excel()函数的参数介绍就先说到这里,其余参数会在后续文章中介绍。
更多pandas 数据处理(pandas数据分析函数)相关信息请关注本站,本文仅仅做为展示!