pandas教程-Series对象(1)

享有数据分析“三剑客之一”盛名的Pandas,主要包含Series和DataFram两种数据对象。它是一个开源的第三方 Python 库,从 Numpy 和 Matplotlib 的基础上构建而来。Pandas 已经成为 Python 数据分析的必备高级工具,它的目标是成为强大、灵活、可以支持任何编程语言的数据分析工具。

Series:一种类似于一维数组的对象,是由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。Series对象可以存储整数、浮点数、字符串、python对象等多种数据类型的数据。仅由一组数据也可产生简单的Series对象。注意:Series中的索引值是可以重复的。

安装pandas

在读取excel文件时还需安装依赖库:

pip install pandas
pip install xlrd  # 读取excel
pip install xlwt  # 写入excel

引入并创建对象

import pandas as pd # 别名pd
# 创建Series对象  pd.Series(data,index=index),其中data为数据,index为索引值(可省略)默认从0开始,也可以自定义
data = ['张三','李四','王二']
s = pd.Series(data=data)
print(s)
'''
0    张三
1    李四
2    王二
dtype: object
'''
print(type(s))
# <class 'pandas.core.series.Series'>

手动修改索引值:

# 手动修改索引
s = pd.Series(data=data,index=[1,2,3])
print(s)
'''
1    张三
2    李四
3    王二
dtype: object
'''

自定义索引值:

# 自定义非数字索引
data = ['70','80','90']
index = ['张三','李四','王二']
s = pd.Series(data=data,index=index)
print(s)
'''
张三    70
李四    80
王二    90
dtype: object
'''

索引操作

可通过位置索引、标签索引、切片索引对数据进行自定义获取。

位置索引:s[索引值],其中索引值的范围为0-N-1

标签索引:s[索引名称],获取多个索引值可以通过[[索引名1,索引名2,索引名3…]]的方式获取

切片索引:s[start:stop:step],即开始位置:结束位置:步长。其中位置索引进行切片时,含头不含尾,标签索引切片时含头含尾。

位置索引:

# 位置索引
data = ['张三','李四','王二']
s = pd.Series(data=data)
print(s[0]) # 张三
print(s[1]) # 李四

标签索引:

# 标签索引
data = ['70','80','90']
index = ['张三','李四','王二']
s = pd.Series(data=data,index=index)
print(s['张三']) # 70
# 获取多个数据
print(s[['张三','王二']])
'''
张三    70
王二    90
dtype: object
'''

切片索引:

# 切片索引
data = ['张三','李四','王二']
s = pd.Series(data=data)
print(s[1:2:1])
'''
1    李四
dtype: object
'''

属性和方法

获取Series值和索引

通过s.index和s.values的方式获取索引值和数据值。其中获取的值为numpy的ndarray类型,不是列表类型。获取的索引可以转换成列表。

获取索引:

data = ['张三','李四','王二']
s = pd.Series(data=data)
# 获取索引
print(s.index) # RangeIndex(start=0, stop=3, step=1)
print(type(s.index)) # <class 'pandas.core.indexes.range.RangeIndex'>
print(list(s.index)) # 转换为列表 [0, 1, 2]

获取值:

# 获取值
data = ['70','80','90']
index = ['张三','李四','王二']
s = pd.Series(data=data,index=index)

print(s.values) # ['70' '80' '90'] 不是数组
print(type(s.values)) # <class 'numpy.ndarray'>

size,axes,dtype,empty,ndim

  • size:返回输入数据的元素数量。

  • axes:以列表的形式返回所有行索引标签。

  • dtype:返回对象的数据类型。

  • empty:返回一个空的 Series 对象。

  • ndim:返回输入数据的维数。

data = ['张三','李四','王二']
s = pd.Series(data=data)
# size 返回 Series 对象的大小(长度)。
print(s.size) # 3
# 以列表的形式返回所有行索引标签
print(s.axes) # [RangeIndex(start=0, stop=3, step=1)]
# dtype返回对象的数据类型
print(s.dtype) # object
# empty返回一个布尔值,用于判断数据对象是否为空
print(s.empty) # False
# ndim查看序列的维数。根据定义,Series 是一维数据结构,因此它始终返回 1
print(s.ndim) # 1

head()和tail方法

  • head(n):返回前n行数据,默认显示前5行数据

  • tail(n):返回后n行数据,默认显示后5行数据

data = ['70','80','90']
index = ['张三','李四','王二']
s = pd.Series(data=data,index=index)
print(s.head(2)) # 打印前两条数据
'''
张三    70
李四    80
dtype: object
'''
print(s.tail(2))# 打印后两条数据
'''
李四    80
王二    90
dtype: object
'''

检测 Series 中的缺失值

所谓缺失值,顾名思义就是值不存在、丢失、缺少。

  • isnull():如果为值不存在或者缺失,则返回 True。

  • notnull():如果值不存在或者缺失,则返回 False。

ns = pd.Series([1,2,3,None])
print(pd.isnull(ns))
'''
0    False
1    False
2    False
3     True  # 不存在,返回True
dtype: bool
'''
print(pd.notnull(ns))
'''
0     True
1     True
2     True
3    False # 不存在,返回True
dtype: bool
'''
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇