pandas之数据结构介绍

Pandas数据结构分析 pandas -- 对series和dataframe的创建、添加、修改、删除 阅读详情

一、简介

 Python中的pandas库是数据分析中经常用的一个库,打开、转换csv、xlsx、txt文件、数据清洗、查找数据、简单的作图等等。

 pandas中的所有操作是基于两种数据结构:DataFrame和Series,本文就先主要介绍这两种数据结构,后续再介绍基于它们的操作。

二、Series

2.1 创建Series

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

2.1.1 用列表创建Series:

import pandas as pd
obj = pd.Series([4, 7, -5, 3])
obj

输出:

0    4
1    7
2   -5
3    3
dtype: int64

 Series的字符串表现形式为:索引在左边,值在右边。由于我们没有为数据指定索引,于是会⾃动创建⼀个0到N-1(N为数据的⻓度)的整数型索引。

 我们可以通过Series的values和index属性获取其数组表示形式和索引对象。

查看索引:

obj.index

输出:RangeIndex(start=0, stop=4, step=1)

查看值:

obj.values

输出:array([ 4, 7, -5, 3])

2.1.2 带索引的Series

 在创建Series的时候,加上参数index并赋值我们想要设置的索引即可。

obj = pd.Series([4, 7, -5, 3], index=['d', 'b', 'a', 'c'])
obj

输出:此时的输出就带上了我们设置的索引:[‘d’, ‘b’, ‘a’, ‘c’],而不是默认的[0, 1, 2, 3]

d    4
b    7
a   -5
c    3
dtype: int64

2.1.3 通过字典创建Series

 如果数据被存放在字典里,那么我们可以直接将其创建为Series对象,索引就是字典的键。

data = {'a': 20, 'b': 30, 'd': 50}
obj = pd.Series(data)
obj

输出:

a    20
b    30
d    50
dtype: int64

三、DataFrame

 DataFrame是pandas用的最多的数据结构,它和Series不同,Series只有一列,而DataFrame可以有多列。DataFrame的结构形式和sql比较像,每一列可以看作是一个字段,一个特征(机器学习),而每一行则是所有列的取值。

3.1 创建DataFrame

 创建DataFrame的方法有很多,本文只介绍常用的几种。

3.1.1 用数组创建DataFrame

#生成3行5列的数组
data = np.random.randn(3, 5)
df = pd.DataFrame(data)
df

输出:


        0	        1	        2	         3	        4
0	0.614040	0.202512	-2.668371	0.645818	-1.167729
1	0.086797	2.109643	0.130015	-0.865688	0.034858
2	1.956728	1.868124	0.085561	-1.188619	0.323035

 DataFrame既有⾏索引也有列索引,它可以被看做由Series组成的字典(共⽤同⼀个索引),因此和Series一样,当我们没有设置索引时,DataFram的行索引和列索引都是0, 1, ……,N-1

 同样,我们可以通过DataFrame的values属性查看它的值,index属性查看它的行索引,columns属性查看它的列索引(列名):

查看值:

df.values

输出:

array([[ 0.61403982,  0.20251155, -2.66837106,  0.64581832, -1.16772939],
       [ 0.08679744,  2.10964251,  0.13001494, -0.86568831,  0.03485802],
       [ 1.9567277 ,  1.86812424,  0.08556118, -1.18861883,  0.32303491]])

查看行索引:

df.index

输出:RangeIndex(start=0, stop=3, step=1)

查看列索引(列名):

df.columns

输出:RangeIndex(start=0, stop=5, step=1)

3.1.2 创建带索引的DataFrame

 由于DataFrame既有行索引index,又有列索引(列名)columns,因此创建时可根据需要创建其中一个或都创建。

data = np.random.randn(3, 5)
df = pd.DataFrame(data, index=['a', 'b', 'c'], columns=['aa', 'bb', 'cc', 'dd', 'ee'])
df

输出:

        aa	        bb	        cc	        dd	        ee
a	-0.284388	-0.238337	0.115592	-0.722185	-0.798702
b	-1.875249	0.248238	-0.140116	0.775234	-0.873626
c	0.343352	1.166614	0.757785	0.304297	0.520813

3.1.3 利用字典创建

 和创建Series类似,也可以利用字典创建DataFrame,此时字典的键会变为列名。

data = {'name': ['apolo', 'adm', 'bolon', 'cathy'],
        'age': [18, 29, 32, 28],
        'sex': ['male', 'female', 'male', 'male']}
df = pd.DataFrame(data)
df

输出:

    name	age	 sex
0	apolo	18	male
1	adm	    29  female
2	bolon	32	male
3	cathy	28	male
认识Pandas,以及pandas的数据结构Series和DataFrame 通过以上讲解和案例,你可以初步掌握pandas的两种主要数据结构:Series和DataFrame,以及如何创建、索引和操作它们,以及了解pandas中的数据类型及其转换方法。Series是pandas中的一种一维数组结构,可以存储任意类型的数据(整数、字符串、浮点数、Python对象等),并且每个数据点都有一个对应的索引标签。DataFrame是pandas中最常用的数据结构,它是一个二维标签化数据结构,可以看作是由多个Series组成的表格,每个Series共享一个索引。 阅读详情

相关推荐

什么是Pandas?Pandas的数据结构

什么是Pandas? Pandas的名称来自于面板数据(panel data)和Python数据分析(data analysis)。 Pandas是一个强大的分析结构化数据的工具集,基于NumPy构建,提供了高级数据结构和数据操作工具,它是使Python成为强大而高效的数据分析环境的重要因素之一。 一个强大的分析和操作大型结构化数据集所需的工具集 基础是NumPy,提供了高性能矩阵的运算 提供了大量能够快速便捷地处理数据的函数和方法 应用于数据挖掘,数据...

bug中的极品!!!专治BUG 1323

pandas基础

pandas 一 数组创建 1.1pandas的一维数组创建 import pandas as pd import numpy as np obj1 = pd.Series([1,2,3,4,5])#一维数组 obj1 Out[5]: 0 1 1 2 2 3 3 4 4 5 dtype: int64 '''obj属性:index,values,name ,index...

qq_34268742的博客 395

Python实战:用nltk库5步搭建你的第一个n-gram文本生成器(附古诗生成案例)

本文详细介绍了如何使用Python的nltk库5步搭建n-gram文本生成器,并附有古诗生成案例。从环境准备、n-gram原理讲解到完整实现,逐步指导开发者掌握自然语言生成技术。特别针对中文古诗生成进行了优化,包括分词处理和韵律控制,帮助读者快速上手文本生成项目。

weixin_29090089的博客 202

pandas两个数据结构Series与DataFrame使用

pandas两个数据结构Series与DataFrame使用

qq_60976312的博客 2581

标准高斯过程回归(Gaussian Processes Regression, GPR)从零开始,公式推导

标准高斯过程回归从零开始公式推导

qq_43587949的博客 1万+

XPe开发初体验(一)XPe概述

XP Embedded是微软Windows Embedded产品线中非常重要的一环,不过比起大名鼎鼎的Windows Embedded CE,XPe显得过于低调了。在接下来的一段时间里,我希望能够用六篇的篇幅来描述一下XPe的整个开发过程。这个系列文章主要是针对有Windows编程经验,但是没有嵌入式开发经验的开发者,提供一些概念和开发过程的初步介绍。XP Embedded是一个基于Windo

aawolf = new Mobile.MVP 1万+

【Python数据分析】Pandas常用操作(一)

pandas基于Numpy构建,最初被作为金融数据分析工具使用因此pandas为时间序列分析做了很好的支持。 pandas的两种数据结构:Series和DataFrame 0 4 1 7 2 -5 3 3 dtype: int64 RangeIndex(start=0, stop=4, step=1) RangeIndex(start=0, stop=4, step=1) 3/1 4 3/2 7 3/3 -5 3/4 3 dtype: int64 Index([‘

清平乐的技术专栏 627

ubuntu虚拟机搭建OP-TEE

在网上找了一些搭建OP-TEE的过程,模仿着进行搭建,结果有好多报错,为了方便自己以后重新搭建,所以将整个过程记录下来。

weixin_44213847的博客 998

Pandas索引操作

Pandas索引操作

前景 8363

从SSD到UFS:3分钟搞懂存储技术进化史(含最新协议对比)

本文梳理了从SSD到UFS的存储技术演进历程,重点解析了eMMC与UFS在架构上的核心差异。UFS凭借高速串行全双工接口,实现了性能与能效的飞跃。文章还对比了最新的UFS 4.0与PCIe 5.0 SSD协议,并探讨了3D NAND、SLC缓存等底层技术,揭示了移动与PC存储技术融合的未来趋势。

weixin_29294597的博客 278

激光打标轴坐标计算分析

‌:基于坐标差的平方和开方运算,勾股定理将几何关系转化为代数计算,从而实现了从坐标到距离的精确转换‌12。直角三角形的应用从上图可以看到A,B,P三个点连起来就是一个直角三角形了。用勾股定理计算距离 C#有相关的方法直接传参数就可以了。很方便。

StevenChen的博客 308

Python3--我的代码库之Pandas库之DataFrame(一)

一、什么是DataFrame? - 这是一种带名称的表格型的数据结构,我们可以看成很多Series堆砌而成; - 第一行为字段值,从第二行开始每一行为一条记录; - 每一列可以为不同的字段数据类型; - 既有行索引,也有列索引 二、创建一个DataFrame import pandas as pd import numpy as np f = pd.Dat...

c_air_c的博客 795

【Unity3D开发小游戏】《打地鼠游戏》Unity开发教程

文章目录一、前言二、源码三、正文版本1、相机设置2、洞口设置3、洞口脚本4、鼹鼠5、鼹鼠动画6、鼹鼠碰撞器7、鼹鼠脚本8、击中鼹鼠的效果9、实现击中效果10、增加更多的洞口 一、前言 让我们使用Unity3D开发一个打地鼠游戏吧。 打地鼠游戏是一个非常有趣的街机游戏,是在1976年左右发明的。 游戏的主要玩法就是打击从洞里出来的鼹鼠,玩家击中鼹鼠的速度越快,得分就越高 我们将讲解制作游戏的所需的每...

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 8460

yjs09——pandas介绍及相关数据结构

同样,pandas、matplotlib、numpy是python三大库,pandas就像是把matplotlib和numpy结合在一起,让数据以“表格”的形式表现出来,是一个强大的数据处理和分析库,它建立在NumPy库之上,提供了高效地操作大型数据集所需的数据结构和操作。

元气少女硕硕子的博客 943

【PINN高级教程】范式融合与前沿应用 第5讲:贝叶斯推断与生成式建模的深度融合

正规化流(Normalizing Flow, NF)通过一系列可逆变换把简单分布映射为复杂后验,从而获得更好的表达能力。算子学习保持映射的物理正确性。贝叶斯推断给出了自然的框架,但直接对高维函数空间做采样(如 MCMC)几乎不可行。1️⃣ 在自己的 PDE 上跑一遍完整的 Bayesian PINN 流模型。的学习机制深度融合,以在保持物理一致性的前提下,高效地从后验分布中采样。2️⃣ 将每个 θ 直接映射到 FNO 权重,得到不同解的采样。的后验 p(θ∣x,y)p(θ∣x,y) 进行近似。

u012133341的博客 474

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

pandas数据结构

Pandas中的API太多,千万不要尝试去记忆,你记不住的,要求有印象、能找到、能看懂理解类知识点dataframe和series对象是什么:可以认为df是有行有列有索引的二维数据表df和s是Pandas中最核心的数据结构df中每一列或者每一行都是s对象s对象也有索引每一个s对象都有各自的数据类型,表示构成这个s对象中的值的type;常用的数据类型有Object -- 字符串int -- 整数float -- 小数series和dataframe的API。

weixin_58425848的博客 1664

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Pandas数据结构

Pandas中的API太多,千万不要尝试去记忆,你记不住的,要求有印象、能找到、能看懂理解类知识点dataframe和series对象是什么:可以认为df是有行有列有索引的二维数据表df和s是Pandas中最核心的数据结构df中每一列或者每一行都是s对象s对象也有索引每一个s对象都有各自的数据类型,表示构成这个s对象中的值的type;常用的数据类型有Object – 字符串int – 整数float – 小数series和dataframe的API。

骑着居居追飞机的博客 1634

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

pandas的数据结构介绍

引用约定:from pandas import Series,DataFrame import pandas as pd因此,只要你在代码中看到pd,就得想到这是pandas。因为Series和DataFrame用的次数非常多,所以将其引入本地命名空间会更方便。要使用pandas,你首先就得熟悉它的两个主要数据结构:Series和DataFrame。虽然它们并不能解决所有问题,但它们为大多数应用提...

hbu_pig的专栏 8426

Pandas:数据结构

在 Python 的数据分析和科学计算中,Pandas 库提供了几个核心数据结构,主要是 Series 和 DataFrame。这两个数据结构是处理和分析数据的基础,具有强大的灵活性和功能。接下来,我将详细介绍这两个数据结构的特点、用法以及一些常见操作。同时对multiIndex数据结构做简单介绍。

Wei_sx的博客 938

Pandas的数据结构

本文介绍了Pandas中的两个核心数据结构:Series和DataFrame。Series是一维数组对象,包含值和索引,可通过numpy数组、列表或字典创建;DataFrame是二维表格,由多个Series组成,可通过字典或列表创建。文章详细讲解了两种对象的常用API,包括数据统计、类型转换等操作,并比较了它们在数据分析和处理中的不同应用场景。通过示例代码展示了如何创建和操作这两种数据结构,为后续数据分析工作奠定基础。

Chad_it的博客 1147

pandas 基本数据结构

pandas 基本数据结构 一、pandas基本数据结构 1、pandas中主要有两种数据结构,分别是:Series和 DataFrame。 2、Series:一种类似于一维数据的对象,是由一组数据(各种 Numpy数据类型)以及一组与之相关的数据标...

weixin_38477351的博客 1万+

「pandas」python pandas 初步、数据结构Series、DataFrame、MultiIndex

以numpy为基础、借力numpy模块在计算性能高的优势基于matplotlib,能够简便画图了解结果独特的数据结构:Series、DataFrame、MultiIndex。

qq_44906900的博客 1285

Pandas 数据结构

andas是Python数据分析库,其核心数据结构为DataFrame和Series,这两种数据结构不仅提供了高效的数据处理能力,还支持丰富的数据操作功能。

王小工小工历程 1314

【pandas】(一)pandas数据结构介绍

pandas基础篇 pandas是贯穿本书后续部分的主要工具。它所包含的数据结构和数据处理工具的设计使得在Python中进行数据清洗和分析非常快捷。pandas经常是和其他数值计算工具,比如NumPy和SciPy,以及数据可视化工具比如matplotlib一起使用的。pandas支持大部分NumPy语言风格的数组计算,尤其是数组函数以及没有for循环的各种数据处理。 尽管pandas采用了很多NumPy的代码风格,但最大的不同在于pandas是用来处理表格型或异质型数据的。而NumPy则相反,它更适合处理同

weixin_44378835的博客 1207

Pandas之数据结构

Pandas数据结构1.Series1.1 Series的创建1.2 Series的属性2.DataFrame2.1 DataFrame的创建2.2 DataFrame的属性2.3 DatatFrame索引的设置2.3.1 修改行列索引值2.3.2 重设索引2.3.3 以某列值设置为新的索引3.MultiIndex与Panel3.1 MultiIndex3.1.1 multiIndex的特性3.1.2 multiIndex的创建3.2 Panel3.2.2 查看panel数据 Pandas中一共有三种数据

汪云辉的博客 350
上一篇: Spark之pyspark动作函数
下一篇: pandas之查找数据
米法·
博客等级 码龄8年 179粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值