三、机器学习基础知识:Python常用机器学习库(Pandas)

本文介绍了Pandas库在Python中的基本使用,重点讲解了Series和DataFrame数据结构,包括它们的创建、索引访问、常见操作以及数据对齐、缺失数据处理。Pandas在数据处理中具有高效、灵活的特点,常用于数据清洗、分析和存储。
摘要由CSDN通过智能技术生成

1、Pandas

Pandas 库是以Numpy库为基础构建的,通常用来处理表格型(关系型)的数据集或与时间序列相关的数据集。
Pandas的优点总结如下:

  1. Pandas提供了快速高效的DataFrame对象,可用于集成索引的数据集操作。
  2. Pandas提供了对各种格式数据的读取和写入工具。
  3. 提供智能的数据对齐功能和缺失数据处理方式,可以方便地将混乱的数据处理成有序的形式。
  4. 可以很灵活地进行数据集的维度变换和旋转。
  5. 基于DataFrame对象的标签,可以对数据集进行灵活的切片、花式索引,或将大数据集分拆为多个小子集。
  6. 当需要修改数据尺度时,允许对数据对象中的数据列进行添加和删除操作。
  7. 提供了强大的分组引擎,可以对分组数据集进行拆分、应用、组合等操作,也可以方便地对数据集进行汇总统计和转换。
  8. 提供了对多个数据集进行高效合并和连接的方法。
  9. 分层轴索引提供了在低维数据结构中处理高维数据的直观方式。
  10. 提供了方便的时间序列操作功能。
  11. Pandas经过了高度的性能优化,执行效率高。
  12. 应用领域广泛。

一般使用如下方式引入Pandas库:

import pandas as pd

Pandas有两种主要的数据结构:

  1. Series:一维数组,与Numpy中一维的ndarray相似,数据结构接近Python中的List列表,数据元素可以是不同的数据类型。
  2. DataFrame:二维数据结构,可以近似将其看成由多个Series组成。

2、Series数据结构

Series是一种类似于一维数组的对象,它由一组数据以及与其对应的标签(索引)组成,数据可以是任何Numpy数据类型。

2.1 Series的创建

创建Series对象的语法格式如下:

pandas.Series(data,index)

data表示数据值,index为对应的索引,可以自定义索引,若未自定义,则自动创建0~N-1的整数型索引(N为数据长度)
Series的创建:

import pandas as pd
s1 = pd.Series([1,2,3,4,5])  #使用默认整数索引创建Series
ls = ['a','b','c','d','e']
s2 = pd.Series([1,2,3,4,5],index=ls) #使用自定义索引创建Series
print(s1)
print(s2)

在这里插入图片描述

2.2 Series的索引与访问

若创建Series的过程中自定义了索引,那么访问数据时可以通过自定义索引或整数索引进行访问。若采用整数索引对Series进行切片访问,则切片片区不包含最右侧索引;若采用自定义索引切片,则包含最右侧索引。
Series的索引访问:

ls = ['a','b','c','d','e']
s2 = pd.Series([1,2,3,4,5],index=ls) #使用自定义索引创建Series
print(s2[0:2])  #使用整数索引切片访问Series
print(s2['a':'c']) #使用自定义索引切片访问Series

在这里插入图片描述

2.3 Series的常见操作

创建Series后,可以对其进行常见数组操作,包括标量乘法、数据过滤、应用数学函数等。

import numpy as np
ls = ['a','b','c','d','e']
s2 = pd.Series([1,2,3,4,5],index=ls) #使用自定义索引创建Series
print(s2)
print(s2**2) #使用标量乘法计算平方
print(s2[s2>3]) #筛选大于3的元素
print(np.sqrt(s2))  #应用数学函数开方

在这里插入图片描述

而针对Series内的元素,可以对其进行数据值的新增、修改和删除。

ls = ['a','b','c','d','e']
s2 = pd.Series([1,2,3,4,5],index=ls) #使用自定义索引创建Series
print("原始Series为:\n",s2)
s2['f']=8
print("添加元素后的Series为:\n",s2)
s2['a']=9
print("修改元素后的Series为:\n",s2)
s2 = s2.drop('c')
print("删除元素后的Series为:\n",s2)

在这里插入图片描述

此外还可以通过字典来创建Series对象,因为字典中的数据都是以键值对的形式存储,所以将其转换为Series时会使用其中的键部分作为索引,值部分作为数据值。与字典不同的是,字典中的条目是无序的,而Series中的数据是有序的。

dic = {
   'a':6,'b':7,'c':8,'d':9,'f':10}
s = pd.Series(dic)
print(s)

在这里插入图片描述

3、DataFrame对象

DataFrame是一个表格型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七层楼的疯子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值