本节主要介绍Python数据分析Pandas中的Series对象,Panda是数据分析中用于处理数据的工具,Series是序列,用于存储一行或者一列数据
首先安装Pandas
pip install pandas
1.创建一个series
# coding=utf8 from pandas import Series x=Series(['a',2,'鸡腿'],index=[1,2,3]) #如果没有index参数,则索引从0开始 print(x) print(x[3]) x=Series([1,2,3]) print(x) x=Series([1,2,3],index=['a','b','c']) print(x) print(x['a']) print(x[1]) #此时也可以通过数值索引访问,'a'是索引名,1是索引号 #================== #结果: #1 a #2 2 #3 鸡腿 #dtype: object #鸡腿 #0 1 #1 2 #2 3 #dtype: int64 #a 1 #b 2 #c 3 #dtype: int64 #1 #左边的一列是索引,右边一列才是值
下面是其他用法:
y=x.append(Series([4,5,6])) #往序列中追加元素,但是不能x.append([4,5,6])或者append(4) print(y)
print(y.values) #序列的值,返回一个列表 print(y.index) #序列的索引,返回一个迭代对象 print(y.index[0]) #返回a print(2 in y.values) #判断2是否在序列的值中
print(x[1:3]) #切片 print(y[[0,2,1]]) #定位获取,常常用于随机抽取 print(y.index[2]) #根据索引号找到索引名
z = x.drop('b') #删除索引为b的值,但不影响x,而是会将新序列返回给z print(x) print(z) z = x.drop(x.index[2]) #根据索引号删除序列值,x.index[2]就是c,相当于x.drop('c') print(z) print(x[x.values>1]) #返回符合条件的元素组成的新序列,类似于切片,[]中的值返回的是列表中包着True和False x[x.index[x.values==3]]=100 #将x中为3的值改为100,x.values==3返回的是[False,False,True] print(x)
x.index=['A','B',"C"] #修改x的索引名 print(x) p=Series({"a":1,"b":2,"c":3,"d":4}) #将字典转为序列 print(p)
q = Series({"s":5.3,"a":0.9,"m":23,"g":20}) print(q.sort_index(ascending=False)) #根据索引排序,不影响原序列,默认ascending为True,即升序;False是降序 print(q.sort_values()) #根据值排序 print(q) print(q.reindex(['m','g','s','a'])) #自定义排序,不影响原序列q print(q.reindex(['m','g','s','x'])) #自定义排序,如果有不存在的索引名则引入缺失值NaN print(q.reindex(["m","g","s","a","x"],fill_value=0)) #设置缺失值为0
q = Series({"s":5.3,"a":0.9,"m":23,"g":20}) print(q.sort_index(ascending=False)) #根据索引排序,不影响原序列,默认ascending为True,即升序;False是降序 print(q.sort_values()) #根据值排序 print(q) print(q.reindex(['m','g','s','a'])) #自定义排序或者又叫做交换行位置,不影响原序列q print(q.reindex(['m','g','s','x'])) #自定义排序,如果有不存在的索引名则引入缺失值NaN print(q.reindex(["m","g","s","a","x"],fill_value=0)) #设置缺失值为0
更多Series相关操作后续介绍DataFrame的章节会有补充
如果您需要转载,可以点击下方按钮可以进行复制粘贴;本站博客文章为原创,请转载时注明以下信息
张柏沛IT技术博客 > Python数据分析基础之Pandas(一) Series的基本使用
点击复制转载该篇文章