初识Pandas和Series

Pandas概述

Pandas是数据分析的三大剑客之一,是Python的核心数据分析师,它提供了快速、灵活、明确的数据结构,能够简单,直观,快速地处理各种类型的数据,具体介绍如下:

Pandas能够处理的数据:

1、与SQL或Excel表类似的数据

2、有序和无序(非固定频率)的时间序列数据

3、带行、列标签的矩阵数据

4、任意其他形式的观测、统计数据集 Pandas提供的两个主要数据结构Series(一维数组结构)和DataFrame(二维数组结构),可以处理金融,统计,社会科学,工程等领域里的大多数典型案例,并且Pandas是基于Numpy进行开发的,可以与其他第三方科学计算库完美集成。

pandas的功能很多,具体优势如下:

1.处理浮点与非浮点数据里的缺失数据,表示为NaN

2.大小可变,例如插入或删除DataFrame等多维对象的列

3.自动、显式数据对齐,显式地将对象与一组标签对齐,也可以忽略标签,在Series、DataFrame计算时自动与数据对齐

4.强大、灵活的分组统计(groupby)功能,即数据聚合、数据转换

5.把Python和NumPy数据结构里不规则、不同索引的数据轻松地转换为DataFrame对象

6.智能标签,对大型数据集进行切片、花式索引、子集分解等操作

7.直观地合并(merge)、连接(join)数据集

8.灵活地重塑(reshape)、透视(pivot)数据集

9.成熟的导入、导出工具,导入文本文件(CSV等支持分隔符的文件)、Excel文件、数据库等来源的数据,导出Excel文件、文本文件等,利用超快的HDF5格式保存或加载数据

10.时间序列;支持日期范围生成、频率转换、移动窗口统计、移动窗口线性回归、日期位移等时间序列共功能

Series

Pandas是Python数据分析重要的库,而Series和DataFrame是Pandas库中两个重要的对象,也是Pandas中两个重要的数据结构。

图解Series

Series是Python的Pandas库中的一种数据结构,它类似一维数组,由一组数据以及这组数据相关的标签(索引)组成,或者仅有一组数据或者仅有一组数据没有索引也可以创建一个简单的Series对象,Series可以存储整数,浮点数,字符串,Python对象等多种类型的数据。

Series对象的创建

创建Series对象主要使用Pandas中的Series()方法,语法如下:

ini 复制代码
import pandas as pd
s=pd.Series(data,index=index)

s=pd.Series([100,90,80])
print(s,type(s))

输出结果:

参数说明: data:表示数据,支持Python字典、多维数组、标量值(即只有大小,没有方向的量。也就是说,只是一个数值,如s=pd.Series(5))。

index:表示行标签(索引),不写的话默认从0开始。

返回值:Series对象。

Series的索引

Series位置索引

位置索引是从0开始的 0是Series的第一个数,1是Series的第二个数,以此类推。默认用到的就是位置索引。

注意点: Series对象不能用[-1]定位索引。

ini 复制代码
s1 = pd.Series([100,90,80])
print(s1[2])

Series标签索引

Series标签索引与位置索引方法类似,用\[\]表示,里面是索引名称,注意index的数据类型是字符串,如果需求获取多个标签索引值,用\[]表示(相当于\[\]中包含一个列表)

lua 复制代码
s2 = pd.Series([110,119,120],index=['a','b','c'])
print(s2)
print(s2['a'])
print(s2[['a','c']])

Series切片索引

  • 标签索引做切片,包头包尾(即包含索引开始位置的数据,也包含索引借宿位置的数据)
  • 位置索引做切片,包头不包尾(即包含索引开始位置的数据,不包含索引借宿位置的数据)
python 复制代码
import pandas as pd
s2 = pd.Series([110,119,120],index=['a','b','c'])
print(s2)
# 使用标签索引切片
print(s2['b':'c'])
print('------')
# 使用位置索引切片
s4 = pd.Series([110,119,120])
print(s4[1:2])

获取Series的索引和值

python 复制代码
import pandas as pd
s2 = pd.Series([110,119,120],index=['a','b','c'])
print(s2.index)
print('------')
for i in s2.index:
    print(i)
print('------')
print(s2.values)
print('------')
for i in s2.values:
    print(i)

输出结果:

相关推荐
IpdataCloud16 分钟前
AI智能体调用工具怎么核验来源IP?归属地、网络类型与代理风险识别(含Python代码)
数据库·python·tcp/ip
2601_9669496540 分钟前
只拿到股票代码还不够:量化程序到底还需要哪些标的信息?——从数据建模开始理解股票元数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
蒸鱼Yuzheng44 分钟前
Python 游戏测试开发怎么准备:日志解析、接口校验、并发与可维护性
自动化测试·python·测试开发·面试题·游戏测试
Ivanqhz1 小时前
BM1688 双核架构
python·深度学习·神经网络·cnn·mlir
Java后端的Ai之路1 小时前
Python进阶探索17 - Python中的深拷贝与浅拷贝
人工智能·python·ai·浅拷贝·深拷贝
西柚研究生1234562 小时前
论文分析17:YOLOv11_UAVNet:无人机航拍图像专用目标检测算法
人工智能·python·深度学习·算法·目标检测
沧海一笑-dj3 小时前
【Python】Python学习笔记-初识 Python
python·python安装·python解释器
打工仔折腾 AI3 小时前
FastAPI 从本机到生产服务器:Nginx+Gunicorn+Uvicorn 完整部署实录
人工智能·后端·python·nginx·fastapi·gunicorn
hanchenxing3 小时前
AI 数据管道重构:从函数堆到链式管道的可读性实践
python
hhzz3 小时前
【OpenCV 入门到精通 10】视频分析与光流跟踪:背景减除与运动检测
人工智能·python·opencv·性能优化