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

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

练习题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的数据类型转换为 datetime6

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值