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')
格式:pandas.Series(data[, index])
参数说明:
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
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对象中这些元素也会发生变化
字典中的一个键与值的映射关系,可以看做是series对象中的索引值到数据值的一个映射,因此,可以将字典直接转化为series对象
s_data={'电话':15696663527,'年龄':19,'exam':90}
se5=pd.Series(s_data)
se5
电话 15696663527
年龄 19
exam 90
dtype: int64
注意:
将字典直接转化为series对象,当字典的值变化时,已经转化为series对象中的元素不会变化。同样,也可以将series对象转换成字典
通过series的属性values和index可查看值和标签
例如:se2.values查看值和se2.index查看标签
若想获取series对象的内部元素,把它看成普通的NumPy数组,指定索引即可。例如se1[2]获取的元素是-3
或指定位于索引位置处的标签。例如,se2[‘a’]获取的元素也是-3
通过切片来选择多个元素,切片“[起始值:终止值:步长]”,如果没有终止值,则默认终止值为最后一个索引
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
通过索引或标签选取元素后直接赋值。例如 se1[1]=1或sw2[‘a’]=0
根据条件筛选数据结构中的元素。例如,筛选se1中大于3的元素
se1[se1>3]
1 4
3 7
dtype: int64
例如:se1*2 np.exp(se2)
series能够通过识别标签对齐不一致的数据。这就是series运算时的自动对齐功能
例如,将se1和se1[se1>3]相加:
se1+= se1[se1>3]
se1
0 NaN
1 8.0
2 NaN
3 14.0
dtype: float64
一般来讲,NaN表示数据有问题,必须对其进行处理,尤其是在数据分析时
统计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
isin()函数可以判断给定的一列元素是否包含在Series数据结构中,在则返回True,不在则返回False,此函数可筛选Series或DataFrame列中的数据
se.isin([0,2])
0 False
1 False
2 False
3 False
4 True
5 True
dtype: bool