概述
7.1 pandas的导入方法:
import pandas as pd 或者 from pandas ipmort *
import pandas as pd
import numpy as np
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:123456@localhost/dataanlysis?charset=utf8')
7.2pandas的数据结构
1.创建Series对象
(1)通过Series()构造函数创建
格式:pandas.Series(data[, index])
参数说明:
- data:输入的数据,它可以是NmuPy中任意数据类型
- index:series对象中数据的标签
- 调用Series()构造函数,要把存放在series对象中的数据一数组形式传入,例如:
se1 = pd.Series([2,4,-3,7])
左边是标签,右边是标签对应的元素
se1
0
2
1
4
2
-3
3
7
dtype: int64
声明series时,若不指定标签,则默认使用从0开始依次递增作为标签;如果想对数据使用特殊意义的标签,需指定index选项,把存有标签的数组赋值给index,例如:
se2=pd.Series([2,4,-3,7],index=['b','c','a','d'])
se2
b
2
c
4
a
-3
d
7
dtype: int64
(2)用Numpy数组或其他series对象定义新的series对象
1).用数组定义新的series对象,代码如下:
arr=np.array([2,3,4,5])
se3=pd.Series(arr)
se3
0
2
1
3
2
4
3
5
dtype: int32
2)用其他series对象定义新的series对象,命令如下
se4=pd.Series(se2)
se4
b
2
c
4
a
-3
d
7
dtype: int64
这两种方式的对象都是动态插入的,原有对象的值发生变化,新series对象中这些元素也会发生变化
(3)将字典转换为series对象
字典中的一个键与值的映射关系,可以看做是series对象中的索引值到数据值的一个映射,因此,可以将字典直接转化为series对象
s_data={'电话':15696663527,'年龄':19,'exam':90}
se5=pd.Series(s_data)
se5
电话
15696663527
年龄
19
exam
90
dtype: int64
注意:
将字典直接转化为series对象,当字典的值变化时,已经转化为series对象中的元素不会变化。同样,也可以将series对象转换成字典
2.查看Series值和标签
通过series的属性values和index可查看值和标签
例如:se2.values查看值和se2.index查看标签
3.选择内部元素
(1)选择单个元素
若想获取series对象的内部元素,把它看成普通的NumPy数组,指定索引即可。例如se1[2]获取的元素是-3
或指定位于索引位置处的标签。例如,se2[‘a’]获取的元素也是-3
(2)选择多个元素
通过切片来选择多个元素,切片“[起始值:终止值:步长]”,如果没有终止值,则默认终止值为最后一个索引
se1[0:3]
0
2
1
4
2
-3
dtype: int64
或者可以使用元素对应的标签,需把标签放入数组中
se2[['a','d','b']]
a
-3
d
7
b
2
dtype: int64
利用标签的切片来选择多个元素时,切片“[起始标签:终止标签]”,如果没有终止标签,则默认最后一个标签
xse6=pd.Series([1,2,3,4,5,6,7],index=['a','b','c','z','e','h','d'])
se6['b':'d']
b
2
c
3
z
4
e
5
h
6
d
7
dtype: int64
4.给元素赋值
通过索引或标签选取元素后直接赋值。例如 se1[1]=1或sw2[‘a’]=0
5.Series对象的简单运算
(1)筛选元素
根据条件筛选数据结构中的元素。例如,筛选se1中大于3的元素
se1[se1>3]
1
4
3
7
dtype: int64
(算术运算和数学函数)
例如:se1*2 np.exp(se2)
6.Series对象之间的运算
series能够通过识别标签对齐不一致的数据。这就是series运算时的自动对齐功能
例如,将se1和se1[se1>3]相加:
se1+= se1[se1>3]
se1
0
NaN
1
8.0
2
NaN
3
14.0
dtype: float64
7.NaN
一般来讲,NaN表示数据有问题,必须对其进行处理,尤其是在数据分析时
8.统计Series对象的组成元素
(1)统计元素重复出现的次数
统计series对象包含多少个不同的元素,可使用unique()函数返回一个由Series去重后的元素所组成的数组,但是数组中元素的顺序不会自动排序
se=pd.Series([5,1,4,1,2,2])
se.unique()
array([5, 1, 4, 2], dtype=int64)
value_counts()函数,返回各个不同的元素,并计算每个元素在Series中出现的次数,运行的结果左边是元素,右边是元素出现的次数
se.value_counts()
1
2
2
2
4
1
5
1
dtype: int64
(2)判断元素是否存在
isin()函数可以判断给定的一列元素是否包含在Series数据结构中,在则返回True,不在则返回False,此函数可筛选Series或DataFrame列中的数据
se.isin([0,2])
0
False
1
False
2
False
3
False
4
True
5
True
dtype: bool
最后
以上就是懵懂黑夜为你收集整理的【Python数据分析基础笔记(仅供本人学习记录)】P1.Series对象及常用操作7.1 pandas的导入方法:7.2pandas的数据结构的全部内容,希望文章能够帮你解决【Python数据分析基础笔记(仅供本人学习记录)】P1.Series对象及常用操作7.1 pandas的导入方法:7.2pandas的数据结构所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复