网站设计风格及色彩搭配技巧 -,wordpress怎么创建目录页面,微信公众平台开发软件,wordpress function上一讲我们讲到了Python 针对Excel 里面的特殊数据处理以及各种数据统计#xff0c;本讲我们将引入Pandas 这个第三方库来实现数据的统计#xff0c;只要一个方法就可以统计到上一讲的数据统计内容#xff0c;本讲也会扩展讲讲Pandas所涉及到的相关使用方法。 统计输出
imp…上一讲我们讲到了Python 针对Excel 里面的特殊数据处理以及各种数据统计本讲我们将引入Pandas 这个第三方库来实现数据的统计只要一个方法就可以统计到上一讲的数据统计内容本讲也会扩展讲讲Pandas所涉及到的相关使用方法。 统计输出
import pandas as pdpd1pd.read_excel(test1.xls)pd2pd.read_excel(test2.xls,skiprows2) #skiprows2表示忽略前几行,skip_footer用来省略尾部的行数
#统计输出print(pd1.describe()) #数字类型的统计输出它是DateFrame类型print(pd1.min()) #输出每一列里面最小值print(pd1.max())#输出每一列里面最大值print(pd1.sum()) #输出每一列的求和值print(pd1.mean()) #输出每一列的平均值print(pd1.median())#输出每一列的中位数 通用输出或格式化输出 #通用输出或格式化输出print(pd1.head()) #输出前五条数据,DateFrame类型的带有标签的数据print(pd1.tail()) #输出后五条数据,DateFrame类型的带有标签的数据print(获取到所有的值:\n{0}.format(pd1))#格式化输出所有数据print(pd1.values) #输出的是全部值的一个二维的ndarrayprint(pd1.dtypes) #输出每一列数据的数据类型,它是Series类型的数据print(pd1.columns) #输出序号的名字它是Index类型的索引对象print(pd1.columns.values) #输出序号的名字返回的是一个一维的ndarrayprint(pd1.shape) #输出 指定输出 #指定输出print(pd1.values[0]) #输出第一行的值print(pd1.values[0:2])#查看第一二行的值返回的是一个二维的ndarrayprint(pd1[0:3]) #返回的是DateFrame类型的前三列数据带有标签print(pd1[0:3].values) #返回的是ndarray类型的前三列数据的值不带表头标签print(pd1.sample(2).values) #获取指定行数的值,它是一个二维的ndarrayprint(pd1[工号].values) #查看某一列所有的值返回的是一维的ndarray 转置输出 #转置输出print(pd1.T)#整个数据集的翻转展示print(pd1[0:3].T) #前三行数据翻转展示 排序输出 #排序输出print(pd1.sort_index(axis1,ascendingFalse)) #axis等于1按列进行排序 如ABCDEFG 然后ascending倒叙进行显示print(pd1.sort_values(by月工资))#按值进行排序 常规操作 #常规操作pd1[job]None #增加一列pd1.loc[1][1000,林ok,男,哈尔滨,1978-05-28 00:00:00,2003-06-20 00:00:00,333,0.5,555.0,tester]#增加一行pd1.drop([1],axis0,inplaceTrue) #删除指定行 axis0 表示行,inplaceTrue表示在原有的数据上改变pd1.drop(job,axis1,inplaceTrue)#删除指定列 axis1 表示列pd1.to_excel(test1.xls,sheet_namenew sheet,indexFalse,headerTrue)#保存新增的内容,index表示是否增加索引header表示是否加列表表头pd1.index(pd1.index100) #设置索引的值pd1.rename(columns{工号:num,姓名:name},inplaceTrue) #修改表头信息pd1.set_index(num,dropTrue,inplaceTrue) #设置索引的值drop默认True普通列被用作索引后原列删除pd1.reset_index(dropFalse,inplaceTrue)#还原索引为普通列重新变为默认的整型索引dropFalse 原有的索引不变,添加一列列名indexpd.set_option(display.max_rows, 3,display.max_columns, 3,display.max_colwidth,3,display.width,3) #设置显示print(pd1.head())print(pd1.index) #输出索引信息print(len(pd1.index)) #输出索引的长度 合并操作 #合并操作pd3pd.concat([pd1,pd2],axis0) #将两个excel数据进行合并操作注意保持数据格式上的一致print(pd3)缺失值处理 #缺失值处理print(pd2)print(pd2[job].isna())#检测是否是Nanprint(pd2[job].isnull())#检测是否是空值print(pd2[job].notna())#检测是否是Nanprint(pd2[job].notnull())#检测是否是空值print(pd2.loc[pd2[job].notnull(),:]) #过滤出来job不为null的行print(pd2.drop([1],axis0,inplaceTrue)) #删除指定行 axis0 表示行,inplaceTrue表示在原有的数据上改变print(**100)
import numpy as np #这里是为了构建数据引入的后面会有文章单独讲解df pd.DataFrame([[np.nan, 2, np.nan, 0], [3, 4, np.nan, 1], [np.nan, np.nan, np.nan, np.nan], [np.nan, 3, np.nan, 4]], columnslist(ABCD))print(df)print(df.fillna(100))#将为空的填充为100分print(df.fillna({A:222},inplaceTrue))#将A列为nan的值设置为222print(df.dropna(axiscolumns))#删除有空值的列print(df.dropna(axis1,howall))#删除掉全是空值的列print(df.dropna(axis0,howall))#删除掉全是空值的行
这一讲就分享到这里内容也不少需要多实践去了解它的使用技巧以上更多的是print语句进行输出来检查每一个是否符合预期。