一、chipotle tsv
数据集:chipotle.tsv-数据集
代码:https://download.youkuaiyun.com/download/Albert233333/88508819
1 导入数据,tab分割
有的数据文件是用tab来分开的,读取的时候用下面这个参数
# order_id这一列相同的数字表示 一个消费者同一次进行的交易
# 表格中的每一行表示 用户一次购买的某一个品类 购买的数量
# 消费者可能一次购买很多个不同种类的东西,所以你会发现有好几行的item_name不同,但是order_id完全相同。
# 这都是同一个用户在同一个时间购买的(所以order_id完全相同),只不过购买的物品的种类不同(item_name不同)
import pandas as pd
d = pd.read_csv("chipotle.tsv",delimiter="\t")
d
2 找出下单数最多的 item
降序排列用sort_values
# 这里仅仅统计的是单个
d.sort_values('quantity',ascending=False)
如果你要按照某一列为合并的标准,自行选择合并的方式(求和、均值、max,min)用groupby
你要按照某一列的类别(比如这一列了有薯片、瓶装水、火鸡、沙拉等等商品类别,很多个用户有的买了这个,有的买了那个,你想算出火鸡一共卖了多少件,瓶装水一共卖了多少件),求每个类别的 求和、均值、max,min,用groupby
d.groupby("item_name").sum()[["quantity"]].head()
# 按照销售量最高排序
d.groupby("item_name").sum()[["quantity"]].sort_values(by="quantity", ascending=False)
3 将字符串的某一列移除开头的字符,整列从str转float
打印出在该数据集对应的时期内的收入(revenue)数额
收入=销量*价格
item_price这一列,每个数字钱都有 $ 这个符号,要去掉。然后把整列从str转成float,方便后面的计算。
# 第一部分“.str.lstrip("$")”,是将这一列字符串中所有的第一个元素删掉
# 具体来说是删掉左边的 “$”字符
# 第二部分 “.astype(float)”将这一列所有的元素都转成浮点数
d["item_price"].str.lstrip("$").astype(float)
销量与价格相乘再求和,就是总收入
sum(d["quantity"]*d["item_price"].str.lstrip("$").astype(float))
二、Titanic
数据集:https://download.youkuaiyun.com/download/alienwh329/16680606
代码:https://download.youkuaiyun.com/download/Albert233333/88509830
1 将某列设置为索引
df.set_index("PassengerId")
2 绘制扇形图
绘制一个展示男女乘客比例的扇形图
得出男女的具体数字
sex_per = df["Sex"].value_counts()
sex_per
# 把画图的包导入进来
import matplotlib.pyplot as plt
# 这种绘图方式主要用于有多个子图以及复杂的图形布局的时候。
fig,ax = plt.subplots()
# plt.subplots() 会创建一个新的图形(figure)和对应的轴(axes)对象。
# 这个函数返回一个元组,第一个元素是图(figure),第二个元素是轴(axes)。
# fig 是用来设置图形的一些全局属性,比如标题、坐标轴范围等。
# ax 是一个包含两个轴的子图对象