Python练习一:开始了解你的数据

Python练习一:开始了解你的数据

#练习一、开始了解你的数据
#探索Chipotle快餐数据

import numpy as np
import pandas as pd

# 设置显示的最大列、宽等参数,消掉打印不完全中间的省略号
# pd.set_option('display.max_columns', 1000)
pd.set_option('display.width', 1000)#加了这一行那表格的一行就不会分段出现了
# pd.set_option('display.max_colwidth', 1000)
# pd.set_option('display.height', 1000)
#显示所有列
pd.set_option('display.max_columns', None)
#显示所有行
pd.set_option('display.max_rows', None)

path1 = "D:/demo/data/exercise_data/chipotle.tsv"
chipo = pd.read_csv(path1,sep='\t')
# print(chipo.head())     #默认显示数据的前5行
# print(chipo.tail())     #默认显示数据的后5行
# print(chipo.sample(5))  #随机显示数据集的5行数据

#查看数据集的整体形状,即多少行多少列
# print(chipo.shape)      #(4622, 5)

#打印输出全部的列名称
# print(chipo.columns)

#查看数据集的索引
# print(chipo.index)

#查看被下单最多的商品是什么?
c = chipo[['item_name','quantity']].groupby(['item_name'],as_index = False).agg({'quantity':sum})
c.sort_values('quantity',ascending = False,inplace = True)
# print(c.head())

#在item_name中,一共有多少商品被下单?
# print(chipo['item_name'].nunique())     #计算出被下单商品个数
# print(chipo['item_name'].unique())      #罗列出被下单的商品


#在choice_description中,被下单最多的商品是什么?
# print(chipo['choice_description'].value_counts().head())

#一共有多少商品被下单?
#商品下单的数量
total_items_orders = chipo['quantity'].sum()
# print(total_items_orders)
#一共下单了4972商品


#如何查看表的基本信息
# print(chipo.info())
# print(chipo['item_price'].dtype)
#观察到item_price的dtype为object
#将item_price转换为浮点数
# dollarizer = lambda x: float(x[1:-1])
# print(dollarizer(2.39))
#使用lambda转换数据类型
dollarizer = lambda x:float(x[1:-1])
#这里使用[1:-1]代表全部数据
chipo['item_price'] = chipo['item_price'].apply(dollarizer)
#查看数据转换是否成功
# print(chipo['item_price'])

#在数据集对应的时期,收入(revenue)为多少?
chipo['sub_total']= round(chipo['item_price']*chipo['quantity'],2)
revenue = chipo['sub_total'].sum()
# print(revenue)

#在该数据集对应的时期,一共有多少订单?
# print(chipo['order_id'].nunique())      #统计不重复的订单编号总数
# print(chipo['order_id'].unique())       #把每个不重复的订单编号罗列出来

#每一单(order)对应的平均总价是多少?
aa = chipo[['order_id','sub_total']].groupby(by = ['order_id'],as_index = False).agg({'sub_total':sum})
# print(aa.head())
# print(aa['sub_total'].mean())

#一共有多少种不同的商品被售出?
print(chipo['item_name'].nunique())


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值