Pandas——Series操作【建议收藏】

news/2024/11/20 13:31:02/

pandas——Series操作

作者:AOAIYI
创作不易,觉得文章不错或能帮助到你学习,可以点赞收藏评论哦


文章目录

  • pandas——Series操作
  • 一、实验目的
  • 二、实验原理
  • 三、实验环境
  • 四、实验内容
  • 五、实验步骤
    • 1.创建Series
    • 2.从具体位置的Series中访问数据
    • 3.使用标签检索数据(索引)
    • 4.简单运算
    • 5.Series的自动对齐
    • 6.Series增删改


一、实验目的

熟练掌握pandas中Series的创建、查询和简单运算方法

二、实验原理

Series的定义:Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。

Series对象本质上是一个NumPy的数组,因此NumPy的数组处理函数可以直接对Series进行处理。但是Series除了可以使用位置作为下标存取元素之外,还可以使用标签下标存取元素,这一点和字典相似。每个Series对象实际上都由两个数组组成:

index: 它是从NumPy数组继承的Index对象,保存标签信息。

values: 保存值的NumPy数组。

注意三点:

  1. Series是一种类似于一维数组(数组:ndarray)的对象

  2. 它的数据类型没有限制(各种NumPy数据类型)

  3. 它有索引,把索引当做数据的标签(key)看待,这样就类似字典了(只是类似,实质上是数组)

4.Series同时具有数组和字典的功能,因此它也支持一些字典的方法

三、实验环境

Python 3.6.1以上

jupyter

四、实验内容

练习Series的创建、查看数据与简单运算操作。

五、实验步骤

1.创建Series

1.创建一个空的Series。

import pandas as pd  
s=pd.Series()  
print(s)  

在这里插入图片描述

2.从ndarray创建一个Series,并规定索引为[100,101,102,103]。

import pandas as pd  
import numpy as np  
data=np.array(['a','b','c','d'])  
s=pd.Series(data,index=[100,101,102,103])  
print(s) 

在这里插入图片描述

3.从字典创建一个Series,字典键用于构建索引。

import pandas as pd  
data={'a':0,'b':1,'c':2,'d':3}  
s=pd.Series(data)  
print(s)

在这里插入图片描述

4.从标量创建一个Series,此时,必须提供索引,重复值以匹配索引的长度。

import pandas as pd  
s=pd.Series(5,index=[0,1,2,3])  
print(s) 

在这里插入图片描述

2.从具体位置的Series中访问数据

1.检索Series中的第一个元素。

import pandas as pd   
s=pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])  
print(s[0])  

在这里插入图片描述

2.检索Series中的前三个元素。

import pandas as pd   
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])  
print(s[:3])  

在这里插入图片描述

3.检索Series中最后三个元素。

import pandas as pd  
s= pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])  
print(s[-3:])  

在这里插入图片描述

3.使用标签检索数据(索引)

使用标签检索数据(索引):一个Series就像一个固定大小的字典,可以通过索引标签获取和设置值。

1.使用索引标签检索单个元素。

import pandas as pd  
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])  
print(s['a'])  

在这里插入图片描述

2.使用索引标签列表检索多个元素。

import pandas as pd  
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])  
print(['a','b','c','d'])  

在这里插入图片描述

3.如果不包含标签,检索会出现异常。

import pandas as pd  
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])  
print(s['f'])  

在这里插入图片描述

4.简单运算

1.在pandas的Series中,会保留NumPy的数组操作(用布尔数组过滤数据,标量乘法,以及使用数学函数),并同时保持引用的使用

import numpy as np  
import pandas as pd  
ser2 = pd.Series(range(4),index = ["a","b","c","d"])  
ser2[ser2 > 2]  
ser2 * 2  
np.exp(ser2)  

在这里插入图片描述

5.Series的自动对齐

Series的一个重要功能就是自动对齐(不明觉厉),看看例子就明白了。 差不多就是不同Series对象运算的时候根据其索引进行匹配计算。

1.创建两个Series名为ser3与ser4.

import pandas as pd  
sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000}  
ser3 = pd.Series(sdata)  
states = ['California', 'Ohio', 'Oregon', 'Texas']  
ser4 = pd.Series(sdata,index = states)  
print(ser3)  
print(ser4)  
ser3+ser4 

在这里插入图片描述

6.Series增删改

1.增:Series的add()方法是加法计算不是增加Series元素用的,使用append连接其他Series。

import pandas as pd  
sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000}  
ser3 = pd.Series(sdata)  
states = ['California', 'Ohio', 'Oregon', 'Texas']  
ser4 = pd.Series(sdata,index = states)  
print(ser3)  
print(ser4)  
ser3.append(ser4)  

在这里插入图片描述

2.删:Series的drop()方法可以对Series进行删除操作,返回一个被删除后的Series,原来的Series不改变。

import pandas as pd  
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])  
s.drop('a')  
s  

在这里插入图片描述

3.改:通过索引的方式查找到某个元素,然后通过“=”赋予新的值。

import pandas as pd  
s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])  
s['a']=5  
print(s)  

在这里插入图片描述



http://www.ppmy.cn/news/24152.html

相关文章

有趣的KaTeX(附源码)

两年半未见&#xff0c;甚是想念 给大家带来有趣的KaTeX\KaTeXKATE​X&#xff0c;可以放在洛谷主页 文章目录1234561 1#include<bits/stdc.h>\texttt{1 \color{orange}\#include <bits/stdc.h>}1 #include <bits/stdc.h> 2usingnamespacestd;\texttt{2 \col…

Python_pytorch

python_pytorch 小土堆pytotch学习视频链接 from的是一个个的包&#xff08;package) import 的是一个个的py文件(file.py) 所使用的一般是文件中的类(.class) 第一步实例化所使用的类,然后调用类中的方法&#xff08;def) Dataset 数据集处理 import os from PIL impo…

亿级高并发电商项目-- 实战篇 --万达商城项目 二(Zookeeper、Docker、Dubbo-Admin等搭建工作

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是小童&#xff0c;Java开发工程师&#xff0c;CSDN博客博主&#xff0c;Java领域新星创作者 &#x1f4d5;系列专栏&#xff1a;前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶 &#x1f4…

【数据结构】双向链表的模拟实现(无头)

目录 前言&#xff1a; 1、认识双向链表中的结点 2、认识并创建无头双向链表 3、实现双向链表当中的一些方法 3.1、遍历输出方法&#xff08;display&#xff09; 3.2、得到链表的长度&#xff08;size&#xff09; 3.3、查找关键字key是否包含在双链表中(contains) 3.…

【博学谷学习记录】大数据课程-学习第六周总结

Hadoop 3.x的版本架构和模型介绍 由于Hadoop 2.0是基于JDK 1.7开发的&#xff0c;而JDK 1.7在2015年4月已停止更新&#xff0c;这直接迫使Hadoop社区基于JDK 1.8重新发布一个新的Hadoop版本&#xff0c;即hadoop 3.0。Hadoop 3.0中引入了一些重要的功能和优化&#xff0c;包括…

【Python】正则表达式简单教程

0x01 正则表达式概念及符号含义 掌握正则表达式&#xff0c;只需要记住不同符号所表示的含义&#xff0c;以及对目标对象模式&#xff08;或规律&#xff09;的正确概括。 1、基础内容 字符匹配 在正则表达式中&#xff0c;如果直接给出字符&#xff0c;就是精确匹配。\d 匹…

二叉搜索树之AVL树

AVL树的概念二叉搜索树虽可以缩短查找的效率&#xff0c;但如果数据有序或接近有序二叉搜索树将退化为单支树&#xff0c;查找元素相当于在顺序表中搜索元素&#xff0c;效率低下。因此&#xff0c;两位俄罗斯的数学家G.M.Adelson-Velskii和E.M.Landis在1962年 发明了一种解决上…

Python3.10新特性之match语句示例详解

这篇文章主要为大家介绍了Python3.10新特性之match语句示例详解&#xff0c;有需要的朋友可以借鉴参考下&#xff0c;希望能够有所帮助&#xff0c;祝大家多多进步&#xff0c;早日升职加薪正文在Python 3.10发布之前&#xff0c;Python是没有类似于其他语言中switch语句的&…