Kesci的十套数据分析练习笔记

本文详细解析了Kesci提供的十套数据分析练习,涵盖数据探索、过滤、排序、分组、函数应用、数据合并、统计、可视化、数据创建、时间序列及数据删除等操作,涉及多个实际案例,如快餐数据、欧洲杯数据、酒类消费、风速数据、泰坦尼克数据、Pokemon数据和Apple股价数据等。

练习题Kesci链接: link

文章目录

练习1-开始了解你的数据


探索Chipotle快餐数据


步骤9 被下单数最多商品(item)是什么?

思路:

  1. 对象:DataFrame
  2. 提取感兴趣的列。
    !注意:中括号内传入单个列名,如chipo['item_name'],则产生一个Series(不能传入多个列名);
    中括号内传入数组,如chipo[['item_name','quantity']],则产生一个DataFrame。
  3. 分组,groupby括号内传入列名的数组(一个或多个),产生一个group对象。(as_index=False表示分组键不作为index,如果传入group_keys=False在后面的运算中会把分组键重新置为index——不清楚什么原因)
  4. 对group对象应用函数。
    答案的做法是—— .agg({'quantity':sum})
    我的做法是(相同效果)—— [['quantity']].sum()
    都是生成DataFrame对象
  5. 排序 使用sort_index和sort_values效果差不多,但是系统推荐后者。传入inplace=True实现原地排序
  6. 显示最大值

步骤10 在item_name这一列中,一共有多少种商品被下单?

统计不重复的对象的个数
答案:chipo['item_name'].nunique()
我:len(chipo['item_name'].unique())

步骤13 将item_price转换为浮点数

chipo['item_price']中每个对象的格式是string(‘$’+数字),如果直接用.astype(float)则会出错,因为str无法转换成为float。
解决办法:利用可调用函数处理每个对象,并将函数传入apply。

dollarizer = lambda x: float(x[1:-1])#去除'$'符号并将数字传唤成为float
chipo['item_price'].apply(dollarizer)

步骤14 在该数据集对应的时期内,收入(revenue)是多少

round()返回括号内浮点数的四舍五入值。

步骤16 每一单(order)对应的平均总价是多少?

思路:

  1. 对象:DataFrame
  2. 提取感兴趣的列。chipo[['order_id','sub_total']]
  3. 分组.groupby(by=['order_id'])
  4. 对group对象应用函数。.agg({'sub_total':'sum'})
  5. 提取感兴趣的列。['sub_total']
  6. 对列应用函数。.mean()

练习2-数据过滤与排序


探索2012欧洲杯数据


步骤5 有多少球队参与了2012欧洲杯?

.shape(0)DataFrame的shape函数,输出括号内(0代表0轴,1代表1轴…)的大小。

步骤8 对数据框discipline按照先Red Cards再Yellow Cards进行排序

.sort_values(by=['A','B'])sort_value函数按照A,B的先后顺序对A,B先后排序。

步骤11 选取以字母G开头的球队数据

处理字符串对象用str函数
答案:euro12[euro12.Team.str.startswith('G')]
我:euro12[euro12['Team'].apply(lambda x: x[0]=='G')]

步骤12 选取前7列

.iloc按整数索引选取子行和子列
loc按轴标签(行名或列名)选取子行和子列

步骤14 找到英格兰(England)、意大利(Italy)和俄罗斯(Russia)的射正率(Shooting Accuracy)

.isin()函数可用于选取某一列中的几个对象所在的行作为行索引,函数返回的是bool类型的Series。

练习3-数据分组


探索酒类消费数据


步骤8 打印出每个大陆对spirit饮品消耗的平均值,最大值和最小值

思路:

  1. 对象:DataFrame
  2. 分组drinks.groupby('continent')
  3. 提取感兴趣的列。.spirit_servings
  4. 应用函数。agg(['mean', 'min', 'max'])

练习4-Apply函数


探索1960 - 2014 美国犯罪数据


步骤5 将Year的数据类型转换为 datetime64

crime.Year = pd.to_datetime(crime.Year, format='%Y')
转换为时间数据类型(年份)

步骤6 将列Year设置为数据框的索引

crime.set_index('Year', drop = True)

拍贷“魔镜风控系统”从平均 拍贷“魔镜风控系统”从平均 拍贷“魔镜风控系统”从平均 拍贷“魔镜风控系统”从平均 拍贷“魔镜风控系统”从平均 拍贷“魔镜风控系统”从平均 拍贷“魔镜风控系统”从平均 拍贷“魔镜风控系统”从平均 400 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 个数据维度评估用户当前的信状态,给每借款 人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个人打出当前状态的 信用分,在此基础上再结合新发标息对于每个6个月内逾 个月内逾 期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来期率的预测 ,为投资人提供关键决策依据。本次竞赛目标是根用户历史行数来用户在未来 用户在未来 用户在未来 6个月内是否会逾期还款的概率。 个月内是否会逾期还款的概率。 个月内是否会逾期还款的概率。 个月内是否会逾期还款的概率。 个月内是否会逾期还款的概率。 个月内是否会逾期还款的概率。 个月内是否会逾期还款的概率。 问题转换成 问题转换成 问题转换成 2分类问题,评估指标为 分类问题,评估指标为 分类问题,评估指标为 分类问题,评估指标为 分类问题,评估指标为 分类问题,评估指标为 分类问题,评估指标为 AUC ,从 Master Master Master,LogInfoLogInfo LogInfo ,UpdateInfo UpdateInfo UpdateInfo 表中构建 表中构建 特征,考虑评估指标为 特征,考虑评估指标为 特征,考虑评估指标为 特征,考虑评估指标为 特征,考虑评估指标为 AUC AUC,其本质是排序优化问题,所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 ,其本质是排序优化问题所以我们在模型顶层融合也使用基于 排序优化的 排序优化的 排序优化的 RANK_AVG RANK_AVG RANK_AVG融合方法。 融合方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值