数据分析第一天(pandas简单的对快餐店数据进行操作获得想要的信息,使用apply,groupby)

作者 : admin 本文共1168个字,预计阅读时间需要3分钟 发布时间: 2024-06-3 共2人阅读

前言

数据保存在
http://github.com/harkbox/DataAnalyseStudy
数据名称:快餐数据.tsv
(tsv是用 作为字符分隔符的文件格式;csv是逗号)
因此可以用pandas的read_csv函数读取数据

1.读取数据

import pandas as pd
import matplotlib.pyplot as plot
chipo=pd.read_csv(data_file_name,delimiter='	')

2.获得数据的一些基本信息

# 查看数据的前5项
chipo.head()
chipo.info()
#产看数据的信息,尤其是缺失值
#产看摘要信息
chipo.describe()

从上述的信息可以发现价格的类型是字符,如果需要用价格进行计算的话,还需要将其转变为float

第一个问题:## 1.下单数最多的商品是什么

将商品按照item_name分组,求和,并且排序就能找到最多的商品是什么

chipo_=chipo[['item_name','quantity']].groupby(by='item_name').sum()
chipo_.sort_values('quantity',inplace=True,ascending=False)
chipo_.head()

数据分析第一天(pandas简单的对快餐店数据进行操作获得想要的信息,使用apply,groupby)插图

第二个问题: 在item_name这一列中,一共有多少种商品被下单?

#分组后计数
chipo_.count()
#nunique
chipo['item_name'].nunique()
#unique
len(chipo['item_name'].unique())

第三个问题:将item_price转换为浮点数?


def convert_f(x):
    return float(x.strip().replace('$',''))
    
chipo['item_price']=chipo['item_price'].apply(convert_f)
#2.使用字符串的规律
def convert_f(x):
    return float(x[1:-1])
#3.使用str函数里面的strip
chipo['item_price'] =chipo['item_price'].str.strip('$').astype(float)

第四个问题:在该数据集对应的时期内,收入(revenue)是多少?

生成一个新的列,代表总价

chipo['item_total']=chipo['quantity']*chipo['item_price']
chipo['item_total'].sum()

第五个问题: 每一单(order)对应的平均总价是多少?

先对order进行分组,然后计算平均值

chipo[['order_id','item_total']].groupby(by='order_id').mean()
本站无任何商业行为
个人在线分享 » 数据分析第一天(pandas简单的对快餐店数据进行操作获得想要的信息,使用apply,groupby)
E-->