pandas的数据结构介绍

本文详细介绍了pandas的两种主要数据结构——Series和DataFrame,以及索引对象。Series是一维数据结构,类似数组但带有索引;DataFrame是二维表格型数据结构,包含多种类型的列。索引对象在数据操作中起关键作用,不可修改且在多个数据结构间安全共享。pandas提供了丰富的功能,如自动对齐、算术运算和处理缺失数据,便于数据分析和处理。
摘要由CSDN通过智能技术生成

本文目录概要为:Series,DataFrame,索引对象。

引用约定:

from pandas import Series,DataFrame
import pandas as pd

因此,只要你在代码中看到pd,就得想到这是pandas。因为Series和DataFrame用的次数非常多,所以将其引入本地命名空间会更方便。

要使用pandas,你首先就得熟悉它的两个主要数据结构:Series和DataFrame。虽然它们并不能解决所有问题,但它们为大多数应用提供了一种可靠的、易于使用的基础。

Series

Series是一种类似于一维数组的对象,它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据即可产生最简单的Series

>>> obj=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.values
array([ 4,  7, -5,  3])
>>> obj.index
RangeIndex(start=0, stop=4, step=1)

通常,我们希望所创建的Series带有一个可以对各个数据点进行标记的索引

>>> obj2=Series([4,7,-5,3],index=['d','b','a','c'])
>>> obj2
d    4
b    7
a   -5
c    3
dtype: int64
>>> obj2.index
Index(['d', 'b', 'a', 'c'], dtype='object')

Series对象本身及其索引都有一个name属性,该属性跟pandas其他的关键功能关系非常密切。
Series的索引也可以通过赋值的方式就地修改:

>>> obj2.name='obj2Name'
>>> obj2.index=['one','two','three','four']
>>> obj2.index.name='obj2IndexName'
>>> obj2
obj2IndexName
one      4
two      7
three   -5
four     3
Name: obj2Name, dtype: int64

与普通的Numpy数组相比,你可以通过索引的方式选取Series中的单个或一组值

Numpy数组运算(如根据布尔型数组进行过滤、标量乘法、应用数学函数等)都会保留索引和值之间的链接。
>>> obj2['one']
4
>>> obj2[['two','one']]
obj2IndexName
two    7
one    4
Name: obj2Name, dtype: int64
>>> obj2[['two','one']]=6
>>> obj2
obj2IndexName
one      6
two      6
three   -5
four     3
Name: obj2Name, dtype: int64

还可以将Series看做是一个定长的有序字典,因为它是索引值到数据值的一个映射。它可以用在许多原本需要字典参数的函数

>>> 'one'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值