本文实例讲述了Python3.5 Pandas模块之Series用法。分享给大家供大家参考,具体如下:
1、Pandas模块引入与基本数据结构
2、Series的创建
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:ZhengzhengLiu #模块引入 import numpy as np import pandas as pd from pandas import Series,DataFrame #1.Series通过numpy一维数组创建 print("=========Series通过numpy一维数组创建==========") arr = np.array([1,2,3,4,5]) s1 = pd.Series(arr) print(s1) print(s1.index) print(s1.values) #2.Series直接通过一维数组创建 print("=========Series直接通过一维数组创建==========") s2 = pd.Series([10.5,20,38,40]) print(s2) #修改索引值 s2.index = ['a','b','c','d'] print(s2) #Series通过一维数组创建,可以在创建的同时自定义索引值, # 也可以之后通过赋值的形式去修改 print("=========Series创建的同时自定义索引值和数据类型==========") s3 = pd.Series(data=[89,78,90,87],dtype=np.float64, index=['语文','数学','英语','科学']) print(s3) #3.Series通过字典创建,字典的键对应索引,值对应数据 print("=========Series通过字典创建==========") dict = {'a':1,'b':2,"c":3,"d":4} s4 = pd.Series(dict) print(s4)
运行结果:
=========Series通过numpy一维数组创建==========
0 1
1 2
2 3
3 4
4 5
dtype: int32
RangeIndex(start=0, stop=5, step=1)
[1 2 3 4 5]
=========Series直接通过一维数组创建==========
0 10.5
1 20.0
2 38.0
3 40.0
dtype: float64
a 10.5
b 20.0
c 38.0
d 40.0
dtype: float64
=========Series创建的同时自定义索引值和数据类型==========
语文 89.0
数学 78.0
英语 90.0
科学 87.0
dtype: float64
=========Series通过字典创建==========
a 1
b 2
c 3
d 4
dtype: int64
3、Series值的获取
#模块引入 import numpy as np import pandas as pd from pandas import Series,DataFrame #4.Series值的获取 print("=========Series值的获取==========") s2 = pd.Series([10.5,20,38,40]) #修改索引值 s2.index = ['a','b','c','d'] print(s2) print(s2[0]) #方括号+下标值的形式获取Series值 print(s2["a"]) #方括号+索引的形式获取Series值
运行结果:
=========Series值的获取==========
a 10.5
b 20.0
c 38.0
d 40.0
dtype: float64
10.5
10.5
4、Series运算
#模块引入 import numpy as np import pandas as pd from pandas import Series,DataFrame #5.Series值的运算 #Series中元素级别的运算结果,包含索引值并且键值关系保持不变 print("=========Series值的运算==========") s6 = pd.Series({'a':1,'b':2,"c":3,"d":4}) print(s6) print("=========打印Series大于2的值==========") print(s6[s6>2]) print("=========打印Series的值除以2==========") print(s6/2) #numpy中的通用函数在Series中也支持 s7= pd.Series([1,2,-3,-4]) print(np.exp(s7))
运行结果:
=========Series值的运算==========
a 1
b 2
c 3
d 4
dtype: int64
=========打印Series大于2的值==========
c 3
d 4
dtype: int64
=========打印Series的值除以2==========
a 0.5
b 1.0
c 1.5
d 2.0
dtype: float64
0 2.718282
1 7.389056
2 0.049787
3 0.018316
dtype: float64
5、Series缺失值检验
#模块引入 import numpy as np import pandas as pd from pandas import Series,DataFrame #6.Series缺失值检验 scores = Series({"a":88,"b":79,"c":98,"d":100}) print(scores) new = ["a","b","e","c","d"] scores = Series(scores,index=new) print(scores) print("======过滤出为缺失值的项=======") print(scores.isnull()) #NAN值返回True #print(pd.isnull(scores)) #与上面一句等价 print("======过滤出为非缺失值的项=======") print(pd.notnull(scores)) #非NAN值返回True
运行结果:
a 88
b 79
c 98
d 100
dtype: int64
a 88.0
b 79.0
e NaN
c 98.0
d 100.0
dtype: float64
======过滤出为缺失值的项=======
a False
b False
e True
c False
d False
dtype: bool
======过滤出为非缺失值的项=======
a True
b True
e False
c True
d True
dtype: bool
6、Series自动对齐
#模块引入 import numpy as np import pandas as pd from pandas import Series,DataFrame #7.Series自动对齐 s8 = Series([12,28,46],index=["p1","p2","p3"]) s9 = Series([2,4,6,8],index=["p2","p3","p4","p5"]) print("=======s8=======") print(s8) print("=======s9=======") print(s9) print("=======s8+s9=======") print(s8+s9)
运行结果:
=======s8=======
p1 12
p2 28
p3 46
dtype: int64
=======s9=======
p2 2
p3 4
p4 6
p5 8
dtype: int64
=======s8+s9=======
p1 NaN
p2 30.0
p3 50.0
p4 NaN
p5 NaN
dtype: float64
7、Series及其索引的name属性
#模块引入 import numpy as np import pandas as pd from pandas import Series,DataFrame #8.Series及其name属性 s10 = Series({"jack":18,"amy":20,"lili":23,"susan":15}) print(s10) print("=======设置name属性后=======") s10.name = "年龄" #数据名称标签 s10.index.name = "姓名" #索引名称标签 print(s10)
运行结果:
amy 20
jack 18
lili 23
susan 15
dtype: int64
=======设置name属性后=======
姓名
amy 20
jack 18
lili 23
susan 15
Name: 年龄, dtype: int64
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]