Python:pandas模块的简介及常用方法

  1. 导入pandas库
import pandas as pd

2.pandas数据结构简介
pandas的核心为两大数据结构,数据分析相关的所有事务都是围绕着这两种结构进行的:
Series Series这类数据结构用于存储一个序列的一维数据,
DataFrame 用于存储多维数据(类似于excel表格的结构)。
2.1 Series
pandas库的Series对象用来表示一维数据结构,跟数组array类似,但多了一些额外功能。它的内部结构很简单,由两个相互关联的数组组成,其中主数组用来存放数据。主数组的每个元素都有一个与之相关联的标签,这些标签存储在另外一个叫做Index的数组中。
在这里插入图片描述
2.1.1声明Series对象
声明Series时,若不指定标签,pandas默认使用从0开始依次递增的数值作为标签。这种情况下,标签与Series对象中元素的索引(在数组中的位置)一致。

s = pd.Series([12, -4, 7, 9])

在这里插入图片描述
也可以用NumPy数组或其他Series对象定义新Series对象
(注:numpy引用:import numpy as np)

arr = np.array([1, 2, 3, 4])
s1 = pd.Series(arr)

在这里插入图片描述
因此,调用构造函数时,就需要制定index选项,把存放有标签的数组赋给它,其中标签为字符串类型。

s = pd.Series([12, -4, 7, 9], index=[‘a’, ‘b’, ‘c’, ‘d’])

在这里插入图片描述

s.values

在这里插入图片描述

s.index

在这里插入图片描述
我们还可以把Series对象当做字典对象来用。定义Series对象时,就可以利用这种相似性。事实上,我们可以用事先定义好的字典来创建Series对象。(该方法与指定索引的效果相同)

mydict = {'red':2000, 'blue':1000, 'yellow':500, 'orange':1000}
s2 = pd.Series(mydict)

在这里插入图片描述
2.1.2选择内部数据
若想获取Series对象内部的元素,把它作为普通的NumPy数组,指定键即可(即位置,从0开始)。

s[2]

在这里插入图片描述
或者,指定位于索引位置处的标签。

s[‘c’]

在这里插入图片描述
跟从NumPy数组选择多个元素的方法相同:

s[0:2]

(选取位置时包含起始键但不包括终止键的数据,即:[0:2]取键为0,1的数据不包含2)
在这里插入图片描述

s[[‘a’, ‘b’]]

(当用索引查找多个数据时,索引必须用list包起来)
在这里插入图片描述

查找尽量用索引,键不稳定(两个连续的索引重复,会报IndexERROR)

2.1.3为元素赋值

s[0] = 0

在这里插入图片描述

s[‘b’] = 1

在这里插入图片描述
2.1.4筛选元素

s > 8
s[s > 8]

在这里插入图片描述
2.1.5 Series对象运算和数学函数(对每个元素都进行运算得到的Series必须重新赋值,s不会有改变)

s + 2
s - 2
s * 2
s / 2

在这里插入图片描述
在这里插入图片描述
2.1.6 Series对象的组成元素

serd = pd.Series([1, 0, 2, 1, 2, 3], index=[“white”, “white”,”blue”, “green”, “green”, “yellow”])

在这里插入图片描述
serd.unique()(对Series对象的values去重, 返回结果为一个数组array)
在这里插入图片描述
serd.value_counts()(跟unique()函数相似,不仅返回各个不同的元素,还计算每个元素在Series中的出现次数)
新的Series的index代表去除后的元素,values代表出现次数
在这里插入图片描述
isin()函数用来判断所属关系,也就是判断给定的一列元素是否包含在数据结构之中。Isin()函数返回布尔值,可用于筛选Series和DataFrame列中的数据:

serd.isin([0, 3])

在这里插入图片描述

serd[serd.isin([0, 3])]

在这里插入图片描述
2.1.8NaN
NaN(Not a Number,非数值)、None、NULL。数据结构中若字段为空或者不符合数字的定义时,用这个特定的值来表示。

s2 = pd.Series([5, -3, np.NaN, 14])

Isnull()notnull()函数用来识别没有对应元素的索引时非常好用。

s2.isnull()
s2.notnull()

在这里插入图片描述
这两个函数可用作筛选条件:

s2[s2.notnull()]
s2[s2.isnull()]

在这里插入图片描述
2.1.8 Series对象之间的运算
Series对象之间进行运算时,在标签相对应元素之间进行计算当找不到对应的标签时,返回NaN(Series能够通过标识符标签对齐不一致的数据)。

mydict = {'red':2000, 'blue':1000, 'yellow':500, 'orange':1000}
myseries = pd.Series(mydict)

在这里插入图片描述

mydict2 = {'red':400, 'yellow':1000, 'black':700}
myseries2 = pd.Series(mydict2)

在这里插入图片描述

myseries + myseries2

在这里插入图片描述
Series的简介和基本用法差不多就介绍完了

未完待续……….

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值