pythonpandas数据类型(Python3.5 Pandas模块之Series用法实例分析)
pythonpandas数据类型
Python3.5 Pandas模块之Series用法实例分析本文实例讲述了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程序设计有所帮助。
原文链接:https://blog.csdn.net/loveliuzz/article/details/78498077
- python弹球游戏编写过程(python实现坦克大战游戏 附详细注释)
- python字符串的拼接与分割(Python字符串通过'+'和join函数拼接新字符串的性能测试比较)
- python 二维数组怎么取第二列(python实现二维数组的对角线遍历)
- python里字典常用方法(Python使用字典的嵌套功能详解)
- 用python画圣诞树送给女朋友(情人节快乐! python绘制漂亮玫瑰花)
- python怎么抽取微信图片(Python 一键制作微信好友图片墙的方法)
- pythonlambda是什么函数(Python之lambda匿名函数及map和filter的用法)
- python中if条件语句如何使用(Python中如何使用if语句处理列表实例代码)
- python如何编写判断正负数程序(Python实现判断一个整数是否为回文数算法示例)
- python创建文件的方法(Python3.5文件读与写操作经典实例详解)
- python删除列表中的重复元素(Python实现去除列表中重复元素的方法总结7种方法)
- python简单代码画图(python+pyqt5实现图片批量缩放工具)
- python在txt指定行添加文本(Python修改文件往指定行插入内容的实例)
- python将一个字符串逆序输出(Python字符串逆序输出的实例讲解)
- python try高级用法(python try 异常处理史上最全)
- python 接口测试怎么校验json数据(python接口自动化十七--Json 数据处理---一次爬坑记详解)
- 白龙马的改编学生版,快来看看(白龙马的改编学生版)
- 萌娃唱《白龙马》走红,那生动的小表情,网友直呼 简直是戏精(萌娃唱白龙马走红)
- 朱鹤松被不断认可,凤凰传奇玲花喊话岳云鹏,索要老朱演出门票(朱鹤松被不断认可)
- 元宵晚会槽点多,芒果台上来就假唱,岳云鹏不说相声改评书了(元宵晚会槽点多)
- 岳云鹏跟凤凰传奇谈心,说出了人生中最重要的三个人,这才成功(岳云鹏跟凤凰传奇谈心)
- 爱情可以当饭吃吗(爱情能当饭吃吗)
热门推荐
- idea激活服务器(搭建本地的idea激活服务器的详细教程)
- html为什么视频不能自动播放(html5中嵌入视频自动播放的问题解决)
- Jquery实现table表格行的添加、删除
- nodejs如何识别接口(Node实现搜索框进行模糊查询)
- mysql字符类型长度限制
- 阿里云服务器应该买哪个(阿里云服务器购买时面对众多地域,该如何选择)
- python取当前日期(Python实现根据日期获取当天凌晨时间戳的方法示例)
- mysql分组函数入门(详解MySQL 数据分组)
- python编写pygame游戏怎么打包(python使用pygame模块实现坦克大战游戏)
- python创建hbase命名空间(python使用phoenixdb操作hbase的方法示例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9