当前位置: 首页 > news >正文

怎样做酒店网站ppt自己做网站需要钱吗

怎样做酒店网站ppt,自己做网站需要钱吗,北京好的网站建设公司,青岛推广网站目录: 学习目标空值和缺失值查看缺失值 加载数据并通过info函数初步查看缺失值情况df.isnull().sum()空值数量统计Missingno库对缺失值的情况进行可视化探查 安装missingno库missingno.bar(df)缺失值数量可视化missingno.matrix(df)缺失值位置的可视化missingno.he…

目录:

  1. 学习目标
  2. 空值和缺失值
  3. 查看缺失值
    1. 加载数据并通过info函数初步查看缺失值情况
    2. df.isnull().sum()空值数量统计
    3. Missingno库对缺失值的情况进行可视化探查
      1. 安装missingno库
      2. missingno.bar(df)缺失值数量可视化
      3. missingno.matrix(df)缺失值位置的可视化
      4. missingno.heatmap(df)缺失值之间相关性可视化
  4. 缺失值的处理
    1. dropna删除缺失值
    2. fillna固定值填充缺失值
    3. fillna前后值填充缺失值
    4. interpolate线性插值
  5. 总结:
  6. 项目地址

1.学习目标

  • 知道空值和缺失值的区别以及缺失值的影响

  • 知道如何查看数据集缺失值情况的方法

  • 知道缺失值处理的办法

 2.空值和缺失值

  • 在Pandas中空值和缺失值是有区别的,缺失值包含了空值
  • 好多数据集都含缺失数据。缺失数据有多重表现形式

    • 数据库中,缺失数据表示为NULL

    • 在某些编程语言中用NANone表示

    • 缺失值也可能是空字符串''或数值 0

    • 在Pandas中使用NaN表示缺失值

      • Pandas中的NaN值来自Numpy库,Numpy中缺失值有几种表示形式:NaN,NAN,nan,他们都一样

    • 除了Pandas中的空值以外,上述类型的缺失值都可以使用replace函数统一替换为NaN

  • NaN表示空值

    • NaN是pandas中的特殊的数据结构,来源于numpy包的特殊数据结构

    • NaN毫无意义

      • NaN不等于0

      • 也不等于空字符串

      • 更不等于布尔值False

      • 并且两个NaN也不相等

# 使JupyterNotebook单个cell可以有多个输出
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = 'all'from numpy import NaN,NAN,nan# 缺失值和其它类型的数据不同,它毫无意义,NaN不等于0,也不等于空字符串
NaN==True
NaN==False
NaN==0
NaN==''
NaN==None# 两个NaN也不相等
NaN==NaN
NaN==nan
NaN==NAN
nan==NAN

 3.查看缺失值

加载数据并通过info函数初步查看缺失值情况
  • 加载印度城市空气质量数据集,并初步查探缺失值

import pandas as pd# 加载印度城市空气质量数据集
# index_col='Date' 指定Date列作为索引列
# parse_dates=True 将Date列中的数据解析为时间类型
city_day = pd.read_csv('../datas/data_set/city_day.csv', parse_dates=True, index_col='Date')
print(city_day)
print(city_day.info())
  •  isnull函数和notnull函数判断是否存在空值
import pandas as pd# 加载印度城市空气质量数据集
# index_col='Date' 指定Date列作为索引列
# parse_dates=True 将Date列中的数据解析为时间类型
city_day = pd.read_csv('../datas/data_set/city_day.csv', parse_dates=True, index_col='Date')# 空值返回True
print(city_day.isnull())
print(city_day['PM2.5'].isnull())
  •  isnull的返回值中存在True,`any()`就返回True
import pandas as pd# 加载印度城市空气质量数据集
# index_col='Date' 指定Date列作为索引列
# parse_dates=True 将Date列中的数据解析为时间类型
city_day = pd.read_csv('../datas/data_set/city_day.csv', parse_dates=True, index_col='Date')print(city_day.isnull().any())
print(city_day.isnull().any().any())
print(city_day['PM2.5'].isnull().any())
  • notnull函数和notna函数相同,判断是否存在非空值;与isnull函数对应,返回结果正好相反

import pandas as pd# 加载印度城市空气质量数据集
# index_col='Date' 指定Date列作为索引列
# parse_dates=True 将Date列中的数据解析为时间类型
city_day = pd.read_csv('../datas/data_set/city_day.csv', parse_dates=True, index_col='Date')# 空值返回False
print(city_day.notna())
print(city_day['PM2.5'].notna())

 

df.isnull().sum()空值数量统计
import pandas as pd# 加载印度城市空气质量数据集
# index_col='Date' 指定Date列作为索引列
# parse_dates=True 将Date列中的数据解析为时间类型
city_day = pd.read_csv('../datas/data_set/city_day.csv', parse_dates=True, index_col='Date')# 空值数量统计
print(city_day.isnull().sum())
print(city_day['PM2.5'].isnull().sum())
# 非空值数量统计
print(city_day.notnull().sum())
print(city_day['PM2.5'].notnull().sum())
Missingno库对缺失值的情况进行可视化探查
  • 可以使用第三方库Missingno来对缺失值进行可视化
安装missingno库
  • pip install missingno
missingno.bar(df)缺失值数量可视化
# 导包
import pandas as pd
import missingno as msno
import matplotlib.pyplot as plt# 加载数据
city_day = pd.read_csv('../datas/data_set/city_day.csv', parse_dates=True, index_col='Date')
# 查看缺失值数量
city_day.isnull().sum()
# 查看非缺失值数量
city_day.notna().sum()
# 可视化查看缺失值数量情况
msno.bar(city_day)
plt.show()
missingno.matrix(df)缺失值位置的可视化
  • `missingno.matrix(df)` 可以快速直观的查看缺失值的分布情况
# 导包
import pandas as pd
import missingno as msno
import matplotlib.pyplot as plt# 加载数据
city_day = pd.read_csv('../datas/data_set/city_day.csv', parse_dates=True, index_col='Date')msno.matrix(city_day)
plt.show()
# 对数据集进行随机取样后再查看数据缺失情况
msno.matrix(city_day.sample(100))
plt.show()
missingno.heatmap(df)缺失值之间相关性可视化
# 导包
import pandas as pd
import missingno as msno
import matplotlib.pyplot as plt# 加载数据
city_day = pd.read_csv('../datas/data_set/city_day.csv', parse_dates=True, index_col='Date')msno.heatmap(city_day)
plt.show()

**返回结果如下**:相关性取值 0 不相关,1强相关,-1强负相关

4.缺失值的处理

  • 缺失值的处理方法有以下几种方式:
    • 删除缺失值:删除缺失值会损失信息,并不推荐删除,当缺失数据占比较低的时,或可以忽略相关性时,可以尝试使用删除缺失值
    • 填充缺失值:填充缺失值是指用一个估算的值来去替代缺失数
      • 平均值、中位数
      • 前后值填充,数据呈现顺序变化的时候可以使用缺失值前边或后边的值进行填充
  • 线性插值:假定数据点之间存在严格的线性关系,并利用相邻数据点中的非缺失值来计算缺失数据点的值
dropna删除缺失值 

使用`dropna`函数来删除空值,具体用法如下

# 函数用法
df.dropna(axis=0, how='any', inplace=True, subset=['列名',...],thresh=10
)df.drop() # 按列删除
  • dropna函数参数解释

    • axis=0

      • 可选参数 ,默认为0按行删

      • 0, or 'index':删除包含丢失值的行

      • 1, or 'columns':删除包含丢失值的列

    • how='any'

      • 可选参数,默认为any

      • any: 如果存在NA值,则删除该行或列

      • all: 如果所有值都是NA,则删除该行或列

    • inplace=False

      • 可选参数,不建议使用这个参数

      • 默认False, 不对原数据集进行修改

      • inplce=True,对原数据集进行修改

    • subset接收一个列表

      • 可选参数,不与thresh参数一起使用

      • 接收一个列表,列表中的元素为列名: 对特定的列进行缺失值删除处理

    • thresh=n

      • 可选参数

      • 参数值为int类型,按行去除NaN值,去除NaN值后该行剩余数值的数量(列数)大于等于n,便保留这一行

  • 示例代码如下

# 导包
import pandas as pd
import missingno as msno
import matplotlib.pyplot as plt# 加载数据
city_day = pd.read_csv('../datas/data_set/city_day.csv', parse_dates=True, index_col='Date')# 构造示例数据集
city_day2 = city_day.sample(n=10, random_state=5)
print(city_day2)
msno.matrix(city_day2)
plt.show()city_day2 = city_day2.dropna(how='any', subset=['PM10'])
print(city_day2)
msno.matrix(city_day2.dropna(how='any', subset=['PM10']))
plt.show()
 fillna固定值填充缺失值
  • 用平均值填充PM2.5的缺失值

# 导包
import pandas as pd
import missingno as msno
import matplotlib.pyplot as plt# 加载数据
city_day = pd.read_csv('../datas/data_set/city_day.csv', parse_dates=True, index_col='Date')# 构造示例数据集
city_day3 = city_day.copy()
msno.matrix(city_day3)
plt.show()# 计算PM2.5平均值
pm25_mean = city_day3['PM2.5'].mean()
print(pm25_mean)# fillna函数填充缺失值,将返回值赋值给原来的列
city_day3['PM2.5'] = city_day3['PM2.5'].fillna(pm25_mean)# 查看填充完缺失值的数据集
msno.matrix(city_day3)
plt.show()
 fillna前后值填充缺失值

时序数据在某一列值的变化往往有一定线性规律,绝大多数的时序数据,具体的列值随着时间的变化而变化,所以对于有时序的行数据缺失值处理可以使用上一个非空值或下一个非空值填充

印度城市空气质量数据明显就是一个时序数据集,空气中的各种成分会随着时间变化而变化,不会出现特别大的急剧变化

  • 使用上一个非空值(参数method='ffill')填充Xylene(二甲苯)的空值

# 导包
import pandas as pd
import missingno as msno
import matplotlib.pyplot as plt# 加载数据
city_day = pd.read_csv('../datas/data_set/city_day.csv', parse_dates=True, index_col='Date')# 构造示例数据集
city_day3 = city_day.copy()# 用上一个非空值填充并赋值指定列
city_day3['Xylene'] = city_day3['Xylene'].fillna(method='ffill')
msno.matrix(city_day3)
plt.show()
  • 使用下一个非空值(参数method='ffill')填充整个数据集的空值

# 导包
import pandas as pd
import missingno as msno
import matplotlib.pyplot as plt# 加载数据
city_day = pd.read_csv('../datas/data_set/city_day.csv', parse_dates=True, index_col='Date')# 构造示例数据集
city_day3 = city_day.copy()city_day3 = city_day3.fillna(method='bfill')
msno.matrix(city_day3)
plt.show()
interpolate线性插值

绝大多数的时序数据,具体的列值随着时间的变化而变化。 因此,除了使用bfill和ffill进行插补以外还可以使用线性插值法:它假定数据点之间存在严格的线性关系,并利用相邻数据点中的非缺失值来计算缺失数据点的值。

  • 使用df.interpolate(limit_direction="both") 对缺失数据进行线性填充

# 导包
import pandas as pd
import matplotlib.pyplot as plt# 加载数据
city_day = pd.read_csv('../datas/data_set/city_day.csv', parse_dates=True, index_col='Date')# 拷贝数据集
city_day4 = city_day.copy()
# 线性插值填充,并赋值
city_day4 = city_day4.interpolate(limit_direction='both')
# 画图查看
city_day4['PM2.5'][50:65].plot()
plt.show()
city_day['PM2.5'][50:65].plot()
plt.show()

5.总结:

  • 缺失值会影响分析计算的结果,这个结果又要用来指导生产经营,所以要重视缺失值
  • 空值仅指Pandas中的空值类型,比如`NaN`
  • 缺失值包含空值,也有可能是空字符串、数字0、False或None等
  • 不是空值的缺失值可以通过`replace`函数先替换为`NaN`空值,之后再按空值进行处理
  • 查看空值
    • `df.info()` 可以查看数据集每一列非空值的数量
    • `isnull` & `notnull`函数 判断是否存在空值
    • `df.isnull().sum()` 统计空值数量
    • `missingno`库可以对空值进行可视化探查
      • `missingno.matrix(df)` 查看缺失值的位置
      • `missingno.heatmap(df)` 查看缺失值之间的相关性
  • 缺失值的处理
  • `df.dropna()` 删除缺失值
  • `df.fillna(具体值)` 将缺失值填充为具体指
  • `df.fillna(method='ffill')` 使用上一个非空值进行填充
  • `df.fillna(method='bfill')` 使用下一个非空值进行填充
  • `df.interpolate(limit_direction='both')` 线性插值:假定数据点之间存在严格的线性关系,并利用相邻数据点中的非缺失值来计算缺失数据点的值

 6.项目地址

Python: 66666666666666 - Gitee.com

http://www.15wanjia.com/news/166848.html

相关文章:

  • 学校网站建设推进会商城平台建设
  • 餐饮公司网站模板下载有专门做宝宝用品的网站吗
  • 大悟网站建设google开户
  • 公司网站建设方案模板下载苏州建站模板源码
  • 电商网站建设实验原理佛山百度提升优化
  • 做环卫设备都有哪些网站玉溪网站制作
  • 网站搜索优化官网协会门户网站建设
  • 网站建设兼职在哪找迅雷2t免费空间活动
  • 网站建设有哪些湛江哪里有建网站
  • 张家港网站网络公司网站开发后台用什么
  • VIP视频网站有得做吗wordpress kallyas
  • 网站正在建设中中文百度推广登录账号首页
  • 怎么建设免费网站做外贸的人常用的网站
  • 纪检监察网站建设梅州网站优化公司
  • 网站开发公司怎么建服务器做导购网站需要多大的服务器
  • 安徽省两学一做网站专栏网站乱码
  • 要实现对网站中的所有内容进行搜索代码应该怎么写网站营销推广
  • php网站导航苏州网站设计公司哪家便宜
  • 兰州做网站开发网站建设需要什么硬件和软件有哪些方面
  • php做的网站首页是什么文件夹国内打开google网页的方法
  • 中小型网站建设如何手机网站底部漂浮代码
  • 做我女朋友的网站wordpress 文章合集
  • 网站的商业授权建筑人才网证书
  • 网站建设 犀牛呼伦贝尔哪里做网站
  • 湛江建站免费模板口碑营销与传统营销的区别
  • 未成年人思想道德建设网站班级网站做哪些方面
  • 手机论坛网站ai免费模板网站
  • 无锡模板网站长兴企业网站开发
  • 阿里云万网建网站wordpress聊天室模板
  • 医院网站建设合同wordpress+小米商城主题