一、数据集

数据集:资料,提取码:tdgl

二、实现

导包

# -*- coding: utf-8 -*
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib


# 导入小费数据集
df = pd.read_excel('tips_mod.xls')

查看数据的描述信息与缺失值可视化

# 1、查看数据的描述信息与缺失值可视化

# 查看数据的统计情况
print(df.describe())
# 查看数据的行列属性
print(df.info())

# 可视化缺失值个数
# 设置中文字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']  
matplotlib.rcParams['font.family']='sans-serif'

miss=df.shape[0] - df.count(axis=0)
miss.plot.bar()
plt.show()

在这里插入图片描述

显示用餐时间time的不重复值

# 2、显示用餐时间time的不重复值
time_unique = df['聚餐时间段'].unique()
print(time_unique)

修改拼写错误的字段值,以星期为例

# 3、修改拼写错误的字段值,以星期为例
df['星期'].replace(to_replace=r'^T\D*$', value='Thur', regex=True,inplace=True)
df['星期'].replace(to_replace=r'^F\D*$', value='Fri', regex=True,inplace=True)
df['星期'].replace(to_replace=r'^Sa\D*$', value='Sat', regex=True,inplace=True)
df['星期'].replace(to_replace=r'^Su\D*$', value='Sun', regex=True,inplace=True)

检测数据中的缺失值

# 4、检测数据中的缺失值
df_nan = df.isna().sum()
print(df_nan)

删除一行有两个缺失值的数据

# 5、删除一行有两个缺失值的数据
double_nan = []
for i,r in df.iterrows():
    if r.isna().sum()==2:
        double_nan.append(i)
df.drop(index = double_nan,inplace=True)

删除sex或者time为空的数据

# 5、删除sex或者time为空的数据
df.dropna(subset=['性别','聚餐时间段'],axis=0,how='any',inplace=True)

剩余空值用平均值填充

# 6、剩余空值用平均值填充
df['小费'].fillna(int(df['小费'].mean()),inplace=True)
df['人数'].fillna(int(df['人数'].mean()),inplace=True)
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐