pandas餐饮

# %%

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

from pyecharts import options as opts

from pyecharts.charts import Pie

from pyecharts.charts import Map

from pyecharts.charts import *

# %%

plt.rcParams['font.sans-serif'] = 'SimHei'

plt.rcParams['axes.unicode_minus'] = False

%matplotlib inline

# %% [markdown]

# ## 导入数据

# %%

# 1.导入餐饮数据,表命名为“df”

df = pd.read_csv('./餐饮数据.csv', encoding='utf-8')

# %%

# 2.预览前10行

df.head(10)

# %%

# 3.查看df的基本信息(列名、非空行数、数据类型、内存大小等)

df.info()

# %% [markdown]

# ## 数据处理

# %% [markdown]

# ### 删除空值

# %%

# 4.删除“人均消费”为空的行

df.dropna(subset=['人均消费'], how='any', inplace=True)

# %%

# 5.删除“点评数”、“口味”、“环境”、“服务”均为空的行

df.dropna(subset=['点评数', '口味', '环境', '服务'], how='all', inplace=True)

# %%

# 6.查看各列是否存在空值

df.isnull().any()

# %%


 

# %% [markdown]

# ### 填充空值

# %%

# 7.填补“类别”为空的数据,填补方式:频数最高的“类别”

df['类别'].fillna(value=df['类别'].value_counts().idxmax(), inplace=True)

# %%

# 8.填补“行政区”为空的数据,填补方式:向前填充

df['行政区'].fillna(method='ffill', inplace=True)

# %%

# 9.填补“点评数”为空的数据,填补方式:向后填充

df['点评数'].fillna(method='bfill', inplace=True)

# %%

# 10.填补“口味”为空的数据,填补方式:众数

df['口味'].fillna(value=df['口味'].mode()[0], inplace=True)

# %%

# 11.填补“环境”为空的数据,填补方式:均值

df['环境'].fillna(value=df['环境'].mean(), inplace=True)

# %%

# 12.填补“服务”为空的数据,填补方式:中位数

df['服务'].fillna(value=df['服务'].median(), inplace=True)

# %% [markdown]

# ### 新增字段

# %%

# 13.新增字段“性价比”,性价比 = (口味 + 环境 + 服务) / 人均消费

df['性价比'] = (df['口味']+df['环境']+df['服务']) / df['人均消费']

df.head()

# %%

# 14.新增字段“综合评分”,综合评分 = (口味 + 环境 + 服务) / 3

df['综合评分'] = (df['口味']+df['环境']+df['服务']) / 3

df.head()

# %%

# 15.新增字段“评价类型”,cut函数

# “综合评分”:(0, 6]为差评,(6, 8]为一般,(8, 10]为好评

df['评价类型'] = pd.cut(x=df['综合评分'], right=True, bins=[0, 6, 8, 10], labels=['差评', '一般', '好评

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值