Pandas介绍与Series创建

news2024/11/17 17:36:28

1.Pandas介绍

  • Pandas 是基于 NumPy 的一种工具,该工具是为解决数据分析任务而创建的,Pandas 提供了大量能使我们快速便捷地处理数据的功能

  • Pandas 与出色的 Jupyter 工具包和其他库相结合,Python 中用于进行数据分析的环境在性能、生产率和协作能力方面都是卓越的

  • Pandas 的主要数据结构是 Series(一维数据)与 DataFrame(二维数据),这两种数据数据足以处理金融、统计、社会科学、工程等领域里的大多数案例

  • 处理数据一般分为几个阶段:数据整理与清洗、数据分析与建模、数据可视化,Pandas 是处理数据的理想工具

2.Pandas安装

  • Anaconda 环境:无需安装

  • 普通 Python 环境:pip install pandas -i Simple Index

3.导入 Pandas 模块

import numpy as np

import pandas as pd

4.Series

  • Series 是一种类似于一维数组的对象,由下面两个部分组成

    • Values:一组数据(ndarray 类型)

    • index:相关的数据索引标签

5.Series 的创建

  • 第一种方式:由列表或 NumPy 数组创建

    • 默认索引为 0 到 N-1 的整数型索引


# 列表方式创建
list1 = [11,22,33,44]
s = pd.Series(list1)
s
# 执行结果
0    11
1    22
2    33
3    44
dtype: int32

# NumPy数组创建
n = np.array(list1)
s = pd.Series(n)
s
# 执行结果
0    11
1    22
2    33
3    44
dtype: int32

# 查看类型
type(s)
# 执行结果
pandas.core.series.Series
    • index和values

# 值是ndarray的一维数组
s.values
# 执行结果
array([11, 22, 33, 44])

# 索引
s.index
# 转换成列表
#list(s.index)
# 执行结果
RangeIndex(start=0, stop=4, step=1)

# 修改索引index,确保与元素个数保持一致
s.index = ["A","B","C","D"]
# 或者
# s.index = list("BCDE")
s
# 执行结果
A    11
B    22
C    33
D    44
dtype: int32

# 通过索引获取值,数字索引只能使用中括号的方式
s.A,s.C,s["D"]
# 执行结果
(11, 33, 44)

# 通过索引修改值
s["D"] = 100
s
# 执行结果
A     11
B     22
C     33
D    100
dtype: int32
  • 由字典创建

d = {
    "a":11,
    "b":22,
    "c":33,
    "d":44
}
s = pd.Series(d)
s
# 执行结果
a    11
b    22
c    33
d    44
dtype: int64

# 修改索引
s.index = list("ABCD")
s
# 执行结果
A    11
B    22
C    33
D    44
dtype: int64

# 字典值为二维数组
d = {
    "a":np.random.randint(0,10,size=(2,3)),
    "b":np.random.randint(0,10,size=(2,3)),
    "c":np.random.randint(0,10,size=(2,3)),
    "d":np.random.randint(0,10,size=(2,3))
}
s = pd.Series(d)
s
# 执行结果
a    [[6, 4, 7], [8, 8, 1]]
b    [[3, 1, 8], [9, 1, 1]]
c    [[9, 2, 3], [3, 7, 9]]
d    [[6, 0, 8], [6, 7, 6]]
dtype: object

# 通过索引查看值
s["a"]
# 执行结果
array([[6, 4, 7],
       [8, 8, 1]])
       
pd.Series([1,2,3],index=["鲁班","杜甫","李白"],name="历史人物")
# 执行结果
鲁班    1
杜甫    2
李白    3
Name: 历史人物, dtype: int64

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1610798.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【介绍下WebStorm开发插件】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

稀碎从零算法笔记Day53-LeetCode:不同路径 II

稀碎系列有点更不动(更多是自己懈怠了) 题型:矩阵、模拟 链接:63. 不同路径 II - 力扣(LeetCode) 来源:LeetCode 题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” &…

Emerald AI 2024

使用易于使用的编辑器和大量内置功能,快速创建高质量的人工智能。 Emerald AI 2024是一个完全重写和重新设计的通用人工智能框架,适用于各种人工智能和游戏类型。它的多组件设计使开发人员能够灵活地只使用他们需要的功能,并允许有组织和可管理的工作流程。Emerald AI经过了…

【介绍下LeetCode的使用方法】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

OpenHarmony其他工具类—libharu [GN编译]

简介 libharu主要用于生成 PDF格式文件。 下载安装 直接在OpenHarmony-SIG仓中搜索libharu并下载。 使用说明 以OpenHarmony 3.1 Beta的rk3568版本为例 库代码存放路径:./third_party/libharu 修改添加依赖的编译脚本,路径:/developtools…

OpenHarmony南向开发案例:【智能中控屏】

样例简介 本Demo是基于Hi3516开发板,使用开源OpenHarmony开发的应用。通过控制面板可以控制同一局域网内的空调,窗帘,灯等智能家居设备。 当前支持的配套L0设备只有[智能灯],如需添加新的设备。 应用运行效果图: 样…

nginx--Nginx转发真实的IP

Nginx转发真实的IP 前言给nginx.conf 设置proxy_set_headerjava 程序里获取 前言 在使用nginx的时候可能会遇到判断是不是本机在做操作,这样的话web端我们是可以通过ip和端口进行远程连接的这样的话我们就需要从后端获取到真实ip来判断是不是指定的机器了&#xff…

PS-ZB转座子分析流程2-重新分析并总结

数据处理 数据质控 随机挑出九个序列进行比对,结果如下: 所有序列前面的部分序列均完全相同,怀疑是插入的转座子序列,再随机挑选9个序列进行比对,结果如下: 结果相同,使用cutadapt将该段序列修…

【C语言】贪吃蛇项目(2)- 实现代码详解

文章目录 前言一、游戏开始界面设计首先 - 打印环境界面其次 - 游戏地图、蛇身及食物的设计1、地图2、蛇身设置及打印3、食物 二、游戏运行环节蛇的上下左右移动等功能蛇的移动 三、结束游戏代码 前言 在笔者的前一篇博客中详细记载了贪吃蛇项目所需的一些必备知识以及我们进行…

【飞桨AI实战】人体姿态估计:零基础入门,从模型训练到应用开发

前言 本次分享将带领大家从 0 到 1 完成一个人体姿态估计任务,覆盖数据准备、模型训练、推理部署和应用开发的全流程,项目将采用以PaddlePaddle为核心的飞桨深度学习框架进行开发,并总结开发过程中踩过的一些坑,希望能为有类似项…

模电期末复习(二)放大电路的基本原理和分析方法

放大电路的基本原理和分析方法 2.1 放大的概念2.2 放大电路的主要技术指标2.3 单管共发射极放大电路2.3.1 单管共发射极放大电路的组成2.3.2 单管共射放大电路的工作原理 2.4 放大电路的基本分析方法2.4.1 直流通路与交流通路2.4.2 静态工作点的近似估算2.4.3 图解法&#xff…

第23天:安全开发-PHP应用后台模块SessionCookieToken身份验证唯一性

第二十三天 一、PHP后台身份验证模块实现 二、Cookie&Session技术&差异 1.生成cookie的原理图过程:见上图 客户端向服务器发送HTTP请求。服务器检查请求头中是否包含cookie信息。如果请求头中包含cookie信息,则服务器使用该cookie来识别客户端…

C++奇迹之旅:构造函数和析构函数

文章目录 📝类的6个默认成员函数🌠 构造函数🌉 概念🌉特性🌉三种默认构造函数 🌠 析构函数🌠 特性🚩总结 📝类的6个默认成员函数 如果一个类中什么成员都没有&#xff0…

OpenHarmony其他工具类—lua

简介 Lua是一种功能强大、高效、轻量级、可嵌入的脚本语言。 支持过程编程、面向对象编程、函数编程、数据驱动编程和数据描述。 下载安装 直接在OpenHarmony-SIG仓中搜索lua并下载。 使用说明 以OpenHarmony 3.1 Beta的rk3568版本为例 将下载的lua库代码存在以下路径&#…

javase__进阶 day13stream流和方法引用

1.不可变集合 1.1 什么是不可变集合 ​ 是一个长度不可变,内容也无法修改的集合 1.2 使用场景 ​ 如果某个数据不能被修改,把它防御性地拷贝到不可变集合中是个很好的实践。 ​ 当集合对象被不可信的库调用时,不可变形式是安全的。 简单…

von Mises-Fisher Distribution (代码解析)

torch.distribution 中包含了很多概率分布的实现,本文首先通过均匀分布来说明 Distribution 的具体用法, 然后再解释 von Mises-Fisher 分布的实现, 其公式推导见 von Mises-Fisher Distribution. 1. torch.distribution.Distribution 以下是 Uniform 的源码: cl…

黑灰产行业简介

参考:2021年黑灰产行业研究及趋势洞察报告 1. 有哪些场景面临大量黑灰产攻击? 1.营销活动场景 -- 该场景最为猖獗 1. 抹机及接码注册:黑灰产会使用抹机工具修改设备参数伪装成一台新设备,再配合联系卡商进行手机号接码&#xf…

面试(05)————Redis篇

目录 一、项目中哪些地方使用了redis 问题一:发生了缓存穿透该怎么解决? 方案一:缓存空数据 方案二:布隆过滤器 模拟面试 问题二: 发生了缓存击穿该怎么解决? 方案一:互斥锁 方案二&#xff…

vue3:树的默认勾选和全选、取消全选

实现的功能&#xff0c;上面有个选择框&#xff0c;当选中全部时&#xff0c;下方树被全选 代码&#xff1a; <template><div><el-select v-model"selectAll" style"margin-bottom: 10px;" change"handleSelectAllChange">&…

Vue2 —— 学习(九)

目录 一、全局事件总线 &#xff08;一&#xff09;全局总线介绍 关系图 对图中的中间商 x 的要求 1.所有组件都能看到 2.有 $on $off $emit &#xff08;二&#xff09;案例 发送方 student 接收方 二、消息订阅和发布 &#xff08;一&#xff09;介绍 &#xff08…