当前位置: 首页 > news >正文

巴中网站建设公司jsp网站开发实例.百度网盘

巴中网站建设公司,jsp网站开发实例.百度网盘,宁波网络推广平台设计,个人博客网页制作模板田田田田田田田田田田泰坦尼克船员获救数据#xff1a;titanic_train.csv用excel打开数据集。显示如下#xff1a;写在前边#xff1a;为了方便以后运用numpy和pandas的库#xff0c;分别造它们的别名np和pd.import pandas as pd #造pandas的别名为pdimport numpy as np #造numpy的别名为np一、…泰坦尼克船员获救数据titanic_train.csv用excel打开数据集。显示如下写在前边为了方便以后运用numpy和pandas的库分别造它们的别名np和pd.import pandas as pd #造pandas的别名为pdimport numpy as np #造numpy的别名为np一、读取数据import pandas as pd #造pandas的别名为pdimport numpy as np #造numpy的别名为np#泰坦尼克号船员获救数据titanic_survival pd.read_csv(titanic_train.csv)titanic_survival.head()#head()无参数默认返回数据的前5行运行结果二、对数据进行处理1. 用.isnull()来处理数据的缺失值其实数据都有缺失值在进行数据处理的时候首先对缺失值要有一个详细的了解。下边将通过对列“age”列的处理来看一下缺失值的情况的。用.isnull()可以返回缺失值的情况。若当前值缺失返回true否则返回false。age titanic_survival[Age]print(age.loc[0:10]) #显示age数据的0——10行#用.isnull()对缺失值进行处理。若当前的值为一个缺失值则返回true否则返回falseage_is_null pd.isnull(age)print(age_is_null)#将age_is_null的值为true的留下来把age_is_null值为false的过滤掉age_null_true age[age_is_null]print(age_null_true) #打印所有的缺失值age_null_count len(age_null_true) #打印缺失值的个数print(age属性缺失值的个数,age_null_count)运行结果2.缺失值的那点事2.1 当不对缺失值进行处理的时候会有什么后果呢为什么要对缺失值进行处理打比方目标现在想要求出船员的平均年龄。过程则对“Age”这列数据进行操作。用sum()函数求出船员的年龄总和。用len()求出样本数据的长度即船员的个数。#目标求船员的平均年龄#过程用sum()函数求出船员的年龄总和。用len()求出样本数据的长度即船员的个数mean_age sum(titanic_survival[Age])/len(titanic_survival[Age]) #船员的平均年龄print(平均年龄 ,mean_age) #打印平均年龄那么这样的操作是否能得到我们想要的结果呢运行结果这样的显示结果是因为原本的“Age”数据中存在缺失值而缺失值会被标记为NaN所以参与运算后平均年龄的返回结果为NaN2.2 如何对缺失值未处理造成的后果进行调整呢由2.1明显的看出缺失值的错在对数据的处理带来的后果那么接下来我们就用不同的方法对其进行解决。2.2.1 直接过滤缺失值的办法。有第一节中age_is_null的变量我们得到了关于是否为缺失值的返回。当其为缺失值的时候age_is_null True但其不是缺失值的时候age_is_null False#对上边缺失值导致结果出不来的情况进行一个处理。#最简单的方法就是把有缺失值的直接去掉只保留没有缺失值的并进行运算。good_ages titanic_survival[Age][age_is_null False]#[age_is_null False]若没有缺失值,则保留。(由此滤去缺失值)#print(good_ages)correct_mean_age sum(good_ages) /len(good_ages)print(平均年龄 ,correct_mean_age)运行结果2.2.2 直接用pandas中提供的mean()方法来处理correct_mean_age titanic_survival[Age].mean() #直接用Pandas中自带的mean()函数求平均print(用mean()得到的平均年龄 ,correct_mean_age)运行结果2.2.3 注意其实直接滤去缺失值的样本并不是一个很好的方法其实我们可以拿年龄的平均数、中位数、重数进行一个填充。3.求每类船舱对应的平均票价3.1 用for循环的方式求出平均要求船舱等级一共有[1,2,3]三种分别对应不同的票价所以每一级船舱都有自己的平均票价。求每级船舱的平均票价。过程通过for循环对每一类船舱进去抽取抽取出属于同一类船舱等级的船客的全部信息再从每一个分类船客中抽出“Fare”(船票价格)这列数据对其用,mean()函数求平均再返回给每一类的类别。#船舱等级一共有3种求每一种船舱等级对应的平均票价passenger_classes [1,2,3] #船舱等级用list列出[1,2,3]fares_by_class {} #定义空的字典用来存放船舱等级以及对应的平均票价for this_class in passenger_classes: #对每一类船舱进行循环pclass_rows titanic_survival[titanic_survival[Pclass] this_class] #当this_class 1时返回的是所有一等舱的船客的信息#this_class 2/3时同理pclass_fares pclass_rows[Fare] #再从每次取得的信息中返回“Fare”(票价)这列的数据fare_for_class pclass_fares.mean() #用.mean()对票价求平均fares_by_class[this_class] fare_for_class #将对应的平均票价传给对应的船舱print(每类船舱对应的平均票价 , fares_by_class)运行结果3.2 用pandas自带的函数.pivot_table()来统计船舱等级与平均票价的关系看了3.1后发现我们的需求很简单但是代码实现起来并不是很简便那么有没有什么Pandas自带的方法来简便的完成这类数据统计的操作呢答案当然是肯定的啦不然我怎么会又开了3.2. 吼吼.pivot_table() : 相当于一个数据透视表。也相当于统计一个量与其他量之间关系的一个函数.pivot_table()有三个参数index:表示接下来要统计的信息是以谁为基准的index就 谁values:表示用统计index与谁之间的关系values就 谁aggfunc:表示index与values之间的什么关系aggfunc就 什么关系(不写的话默认求均值)#用.pivot_table来统计Pclass和Fare之间的关系#三个参数index:表示接下来要统计的信息是以谁为基准的index就谁(每个船舱等级对应的平均票价所以index Pclass船舱等级)#values:表示用统计Pclass与谁之间的关系values就谁(Pclass与票价之间的关系values Fare)#aggfunc:表示Pclass与Fare之间的什么关系求的是船舱等级与票价的平均值之间的关系所以aggfuncnp.mean()passenger_classes titanic_survival.pivot_table(index Pclass,values Fare,aggfunc np.mean)print(passenger_classes)运行结果4.用.pivot_table()求每类船舱对应的平均存活率#求每类船舱对应的存活率#.pivot_table的三个参数#三个参数index:表示接下来要统计的信息是以谁为基准的index就谁(每个船舱等级对应的平均存活率所以index Pclass船舱等级)#values:表示用统计Pclass与谁之间的关系values就谁(Pclass与存活率之间的关系values Survived)#aggfunc:表示Pclass与Survived之间的什么关系求的是船舱等级的平均存活率的关系所以aggfuncnp.mean()passenger_survical titanic_survival.pivot_table(index Pclass,values Survived,aggfunc np.mean)print(passenger_survical)运行结果5.用.pivot_table()求每类船舱对应的平均年龄#求每类船舱对应的平均年龄#.pivot_table的三个参数#三个参数index:表示接下来要统计的信息是以谁为基准的index就谁(每个船舱等级对应的平均年龄所以index Pclass船舱等级)#values:表示用统计Pclass与谁之间的关系values就谁(Pclass与年龄之间的关系values Age)#aggfunc:表示Pclass与Age之间的什么关系求的是船舱等级的平均年龄的关系所以aggfuncnp.mean()passenger_age titanic_survival.pivot_table(index Pclass,values Age,aggfunc np.mean)print(passenger_age)运行结果6. 用.pivot_table()看一个量与其他两个量之间的关系需求想要看不同的登船地点(C,Q,S)的总的票价和总的获救人数。过程用.pivot_table()的话对于index 接下来要统计的东西是以登船地点为基准的所以index Embarked对于values要统计的是不同登船地点与票价和是否获救之间的关系所以values [Fare,Survived ]对于aggfunc要统计的是不同登船地点的总的票价和总的获救人数所以aggfunc np.sumport_stats titanic_survival.pivot_table(index Embarked,values [Fare,Survived],aggfunc np.sum)print(port_stats)运行结果7. 用.dropna()扔掉具有缺失值的行#用.dropna扔掉具有缺失值的行titanic_survival.head(7)new_titanic_survival titanic_survival.dropna(axis 0,subset [Age,Sex])#看一些Age和Sex这两列有没有缺失值的如果有就把具有缺失值的这行数据扔掉。titanic_survival.head(7)#new_titanic_survival.head(7) #分别把drop前后的前7行数据看一下吧运行结果dropna之前的数据注意此打印的结果是不带print的打印方式因为带有print的打印一行显示不完看起来不够清楚。dropna之后的数据8. 用.loc()确定到每一个坐标上的数据数据中每一个具体的值都是由一个行号和列名唯一确定的所以完全可以用行号和列名来返回这个位置上的值。#如何取确定位置上的一个数据row_index_83_age titanic_survival.loc[83,Age]row_index_766_pclass titanic_survival.loc[766,Pclass]print(第83行的age ,row_index_83_age)print(第766行的pclass ,row_index_766_pclass)运行结果9.用.sort_values()进行数据的重新排序并用.reset_index()重置排序后的index值(即行号)。用.sort_values()对数据进行排序后虽然行的顺序因为排序条件发生了变化但是其行号却还保持着之前的样子为了让排序后的数据的行号变成从0开始依次增大所以运用.reset_index()进行重置。new_titanic_survival titanic_survival.sort_values(Age,ascending False) #根据“Age”的大小逆序排列。#print(new_titanic_survival[0:10]) #打印未进行.reset_index时的数据前10行titanic_reindexed new_titanic_survival.reset_index(drop True)#print(titanic_reindexed.loc[0:10])new_titanic_survival[0:10]titanic_reindexed.loc[0:10]运行结果注意此打印的结果是不带print的打印方式因为带有print的打印一行显示不完看起来不够清楚。未进行.reset_index时的数据前10行进行.reset_index后的数据前边10行10、apply(自定义函数名)的功能我们知道pandas已经提供了很多个功能强大的函数但是还是会有一些具体的操作没有办法直接用已经定义的函数来完成的此时我们应该如何执行这些呢一方面可以通过写代码慢慢的拼接出来。另一方面可以通过写apply()函数而这个apply()函数就相当于我们可以进行一个自定义函数的操作。在apply()中传进来的是一个函数名而传进来的函数可以是自己定义的函数即将自己的操作定义成一个函数的形式然后apply一下这时就会在这个DataFrame中执行这个操作了。10.1 关于apply(自定义函数名) 的第一个例子具体如下所示需求我们想要返回数据集合的第100行数据。过程先定义一个返回第100行数据的函数hundredth_row 然后在apply一下#定义一个新的函数hundredth_row用来返回第100行数据defhundredth_row(column):hundredth_item column.loc[99]returnhundredth_itemhundredth_row titanic_survival.apply(hundredth_row) #将新定义好的函数apply一下print(hundredth_row)运行结果10.2 关于apply(自定义函数名) 的第二个例子用apply(自定义函数名)来得到每一个属性缺失值的个数。#返回所有属性缺失值的个数defisnull_count(column):column_null pd.isnull(column) #返回值是true或flasenull column[column_null] #缺失值列表returnlen(null)column_null_counttitanic_survival.apply(isnull_count)print(column_null_count)运行结果10.3 关于apply(自定义函数名) 的第三个例子用apply(自定义函数名)来对船舱等级【123】进行一个改写改成First ClassSecond Class ,Third Class#将船舱等级进行一个转化1——First Class....defwhich_class(row):pclass row[Pclass]ifpd.isnull(pclass):return UnKnownelif pclass 1:return First Classelif pclass 2:return Second Classelif pclass 3:return Third Classclasses titanic_survival.apply(which_class,axis 1)print(classes)运行结果10.4 关于apply(自定义函数名) 的第四个例子将年龄离散化在本实例数据集上的“Age”是一个连续的值这里以18为界限将其离散化。defgenerate_age_label(row):age row[Age]ifpd.isnull(age):return Unknowelif age 18:return minorelse:return adultage_labels titanic_survival.apply(generate_age_label, axis 1)print(age_labels)运行结果友情赠送利用上边的自定义函数使用.pivot_table()函数得到年龄阶段与获救率之间的关系。titanic_survival[age_labels] age_labels #将上一个里边返回的关于age_labels的数据组合成数据的一列#得到年龄阶段与存活率之间的关系age_group_survival titanic_survival.pivot_table(index age_labels,values Survived)print(age_group_survival)运行结果
http://wiki.neutronadmin.com/news/350398/

相关文章:

  • 牟长青 做网站推广的四个基本要点上海网站建设公司电
  • 响应式网站无法做百度联盟html5 wordpress 主题
  • 海口自助建站软件标签云小工具 wordpress nofollow
  • 为何公司做的网站很丑路桥贝斯特做网站好吗
  • 向搜索引擎提交网站地图软件外包公司主营业务
  • ps网站专题怎么做什么网站做h5不收费
  • 建设专业网站价格wordpress换主图之后图片不显示
  • 常用的网站类型有哪些网站的设计开发
  • 网站建设捌金手指花总三在线定制英文名
  • 最权威的做网站设计哪家好网站色差表
  • 旅游信息网站开发百度广告点击软件源码
  • 北京专业网站搭建公司网页设计师常用网站
  • 广西网络网站建设红酒手机网站模板
  • 网站建设 招标书足球网站怎么做
  • 学校网站网页设计wordpress 链接新窗口
  • 如何用博客网站做cpa惠州网站建设哪里找
  • 网站建设 企业 资质 等级南宁seo服务优化
  • 专门做颜料的网站淄博网站开发公司
  • 网站突然没有收录淮南专业网站建设
  • 快递查询网站建设网络域名怎么设置
  • 网站主办者什么意思网页平面美工培训
  • dede双语网站58同城个人房屋出租信息发布
  • 温州优化网站方法网络技术服务合同模板
  • 局网站建设工作征求意见桥西企业做网站
  • 南昌市 做网站的公司网站制作的电话
  • 云南微网站建设的公司有哪些wordpress快递模板下载
  • 网站架构拓扑图企业网店推广运营策略
  • 广州网站维护公司微信怎么关闭小程序
  • 外贸网站建站要多少钱咋样看网站域名是哪个服务商的
  • html网页留言板代码乌兰察布seo