Python扩展库_Pandas

什么是Pandas?

处理高级数据结构、用于数据分析的Python库。

Pandas的特点

  • 基于Numpy 构建的一种工具;
  • 基础数据类型是DataFrame;

数据预处理

使用info查看空值

import pandas as pd

demo1 = pd.read_csv('DataDemo1.csv',encoding='utf-8')

demo1.info()

在这里插入图片描述

使用isnull查看空值

import pandas as pd

demo1 = pd.read_csv('DataDemo1.csv',encoding='utf-8')

# 使用isnull查看空值
print(demo1.isnull())

在这里插入图片描述

删除空值

# -*- coding: utf-8 -*-

import pandas as pd

demo1 = pd.read_csv('DataDemo1.csv',encoding='utf-8')

print(demo1)

print("---------有一行为空就被删除-----------------")
print(demo1.dropna())

print("--------一行全部为空才删除------------------")
print(demo1.dropna(how='all'))

print("--------性别、注册时间为空才被删除------------------")
print(demo1.dropna(subset=["性别","注册时间"]))

在这里插入图片描述

填充空值

# -*- coding: utf-8 -*-

import pandas as pd

demo1 = pd.read_csv('DataDemo1.csv',encoding='utf-8')

print(demo1)

print("---------所有空值填充0-----------------")
print(demo1.fillna(0))

print("---------编号为空填充 A, 性别为空填充 未知-----------------")
print(demo1.fillna({"编号":"A","性别":"未知"}))


在这里插入图片描述

apply 与 applymap 函数

apply

对DataFrame而言,apply是非常重要的数据处理方法,它可以接收各种各样的函数(Python内置的或自定义的),处理方式很灵活,下面通过几个例子来看看apply的具体使用及其原理。

在进行具体介绍之前,首先需要介绍一下DataFrameaxis的概念,在DataFrame对象的大多数方法中,都会有axis这个参数,它控制了你指定的操作是沿着0轴还是1轴进行。axis=0代表操作对列columns进行,axis=1代表操作对行row进行,如下图所示。

在这里插入图片描述

如果还不是很了解,没关系,下面会分别对apply沿着0轴以及1轴的操作进行讲解,继续往下走。

例子1:数据按列求和;

# -*- coding: utf-8 -*-

import pandas as pd

import numpy as np

dataDf = pd.read_csv('data.csv',encoding='utf-8')
print(dataDf)

sumDf = dataDf[["height","weight","age"]].apply(np.sum,axis=0)

print("----------------------------------")
print(sumDf)

运行结果如下:
在这里插入图片描述
例子2:数据按行求和;

# -*- coding: utf-8 -*-

import pandas as pd

import numpy as np

dataDf = pd.read_csv('data.csv',encoding='utf-8')
print(dataDf)

sumDf = dataDf[["height","weight","age"]].apply(np.sum,axis=1)

print("----------------------------------")
print(sumDf)

运行结果如下:
在这里插入图片描述
例子3:利用自定义函数,将前两列数据相加;

# -*- coding: utf-8 -*-

import pandas as pd

import numpy as np

dataDf = pd.read_csv('data.csv',encoding='utf-8')
print(dataDf)

def BMI(series):
    height = series["height"]
    weight = series["weight"]
    return height + weight

dataDf['sum'] = dataDf[["height","weight"]].apply(BMI,axis=1)

print("----------------------------------")
print(dataDf)

运行结果如下:
在这里插入图片描述

applymap

applymap的用法比较简单,会对DataFrame中的每个单元格执行指定的函数;虽然用途不如apply广泛,但是在某些场合下还是比较有用;

# -*- coding: utf-8 -*-

import pandas as pd

dataDf = pd.read_csv('data.csv',encoding='utf-8')
print(dataDf)

dataDf01 =  dataDf.applymap(lambda x:x+1)
print("---------------------------------------------")
print(dataDf01)

运行结果如下:

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值